Курс 2016 года “Разработка на UMI.CMS от 0 до готового сайта”

Просмотр сообщений

В этом разделе можно просмотреть все сообщения, сделанные этим пользователем.


Темы - Axiomateria

Страницы: 1 2 [3]
31
И снова здравствуйте! Продолжаю осваивать demodizzy и расширять возможности представления товаров (объектов каталога)

Задачка такова:
Надо вывести отфильтрованный список объектов по значению справочника "Ведомственные гостиницы" в виде отдельного списка на своей отдельной странице. то есть вывести те самые объекты каталога - "Ведомственные гостиницы", в которых установлено данное значение из справочника.

Вот такой файл HotelsStarsDepartmental.xml в папке usels по идее задаёт условия фильтрации:

<?xml version="1.0" encoding="utf-8"?>
<selection>
   <target expected-result="pages">
 <type module="catalog" method="object" />
[b] <type id="130"/>[/b]
   </target>
   [b]<property name="stars">[/b]
     [b]<object>644</object>[/b]
   </property>
   <limit page="0">{limit}</limit>
</selection>

в котором:  
<type id="130"/> - тип объекта каталога, то есть "Гостиница",
<property name="stars"> - наименование поля в объекте каталога (в гостинице) где выпадающий список со справочником,
<object>644</object> - идентификатор свойства справочника "Ведомственные гостиницы".
.
И этот файл вызывается в простой текстовой странице common.xsl в папке modules/content/

    <xsl:template match="result[@module = 'content' and page/@type-id=164]">             
    <p><xsl:value-of select=".//property[@name = 'content']/value" disable-output-escaping="yes" /></p>              
             <xsl:apply-templates select="document('usel://HotelsStarsDepartmental/')/udata" mode="filter-list-hotels" />                                    
</xsl:template>

и вот на этой самой странице отображаются два специально созданных объекта с указанными в свойствах элементе справочника "Ведомственные гостиницы":
http://temp03.web-image.ru/information_for_tourists/hotels/hotels_stars_departmental/

и вот я в непонятности - почему только наименования этих объектов (гостиниц) выводятся, когда как там у них ещё большая куча всяких свойств?
Очевидно  конечно что надо создать шаблон для mode="filter-list-hotels", однако в самом файле
http://temp03.web-image.ru/usel://HotelsStarsDepartmental/ ни чего кроме названия этих двух объектов и нет...

Что надо делать в первую очередь -  HotelsStarsDepartmental.xml как-то доделать и/или всё дело в пока не созданном шаблоне mode="filter-list-hotels"
?

В конечном итоге надо отобразить эти два тестовых объекта так же как и они же здесь в числе других отображаются списком в общем разделе "Гостиницы": http://temp03.web-image.ru/information_for_tourists/hotels/

32
И снова здравствуйте!
Основываясь на теме http://umihelp.ru/forum/index.php/topic,1128.msg3656.html#msg3656  я немного отредактировал шаблон category-view.xsl  из набора "demodizzy"в папке ../modules/catalog/

и в категории (то есть в разделе) туров у меня успешно выводятся ссылки на программы туров так:
<xsl:apply-templates select="document(concat('udata://catalog/getObjectsList/', page/@id, '////2/'))/udata" mode="table-view" />

сама ссылка на тур выводится уже далее в шаблоне так:

    <xsl:template match="udata[@method = 'getObjectsList'][total]" mode="table-view">      
         <xsl:apply-templates select="lines/item">
            <xsl:with-param name="cart_items" select="document('udata://emarket/cart/')/udata/items" />
         </xsl:apply-templates>                    
            <xsl:apply-templates select="total" />   
   </xsl:template>

и в конечном виде так:    
<xsl:template match="page|item">         
    <a href="{@link}" title="{.//property[@name='h1']/value}">
            <xsl:value-of select="name" />
            <xsl:if test="not(name)">
               <xsl:apply-templates />
            </xsl:if>
         </a>
   </xsl:template>


И вот теперь суть вопроса:
надо в этой категории (разделе) туров что бы помимо ссылки на сам тур вывести ещё три его значения параметров как:
1. дата заезда (с и по)
2. количество дней (3 дня)
3. дни недели (пн-ср)
. и сама ссылка на тур, которая и так уже выводиться.
Эти данные параметров и их значений успешно введены и выводятся на уровне просмотра каждого объекта отдельно в своём шаблоне object-view.xsl  

А вот как сделать что бы на уровне категории (раздела) эти данные подгружать для каждого объекта?
(планируется в табличной форме их выводить).

Через <xsl:copy-of select="." /> в xml файле страницы категории (разделов)  туров эти параметры так же видны, вот кусочек кода с ними:

<body>
<property id="124" name="h1" type="string">
<title>Поле H1</title>
<value>Столица Российской империи - 3 дня</value>
</property><property id="429" name="start_tour" type="date">
<title>Начало тура</title>
<value formatted-date="01.07.2013 00:00" unix-timestamp="1372622400">Mon, 01 Jul 2013 00:00:00 +0400</value>
</property><property id="430" name="end_tour" type="date">
<title>Окончание тура</title>
<value formatted-date="03.07.2013 00:00" unix-timestamp="1372795200">Wed, 03 Jul 2013 00:00:00 +0400</value>
</property><property id="432" name="day_score" type="relation">
<title>Количество дней</title>
<value><item id="683" name=" - 3 дня" type-id="138" ownerId="628" xlink:href="uobject://683"/></value>
</property>

 вопрос конечно каких вытащить наружу ?

Вот вроде бы ещё одна тема похожая по смыслу моего вопроса, только про макрос "getCategoryList":
http://umihelp.ru/forum/index.php/topic,1519.msg6158.html#msg6158
там речь идёт о вытаскивания наружу отдельных значений параметров из объектов каталога...

33
Суть вопроса такая:  у меня есть три типовых варианта страниц для  "Главная" + "Контактная информация" +"Страницы каталога", то три варианта, которые подгружаются в одном основном шаблоне-дизайне.
Получилось решить только для двух вариантов подгрузки в шаблоне ../layouts/default.xsl  
                
               <xsl:if test="/result/page/@is-default='1'">
                   <xsl:call-template name="index_main"/>
                </xsl:if>

                <xsl:if test="not(/result/page/@is-default='1')">
                   <xsl:call-template name="pages"/>                
                </xsl:if>

где "index_main" это только тип для Главная страница сайта, а "pages" это тип страниц "Страницы каталога".

Вопрос: как сделать третий вариант типа страниц для  "Контактная информация" ?

34
Пытаюсь задействовать в шаблоне тура "Ссылка на дерево" в таком смысле, что бы в туре (объекте каталога) выводилась на сайте не просто ссылка на другой объект каталога, а сразу подгружалось превью другого объекта каталога.

Конкретно так: есть тур в котором кроме текстового краткого описания надо подгрузить информацию о днях этого тура через "Ссылка на дерево", то есть в редактировании объекта каталог "Тур" ссылка на дерево подгружает не ссылку на описание дня, а сразу выводит в этом туре по своему шаблону данные этого дня в виде текстового описания.

С подгрузкой фотоальбома через "Ссылка на дерево" это получается и выводится так:
<xsl:apply-templates select="document(concat('udata://photoalbum/album/', //property[@name = 'photoslist']/value/page/@id,'/void/1000'))/udata" mode="tovar_photo_list"/>  

Я попробовал по образу и подобию сделать так:
<xsl:apply-templates select="document(concat('udata://catalog/object/', //property[@name = 'days_program']/value/page/@id,'/void/1000'))/udata" mode="object-view-tours-day"/>

где days_program поле "Ссылка на дерево", но не работает она...

Что порекомендуете в таком случае ?

35
Шаблоны XSLT / Вывод даты с днем недели
« : 01 Июля 2013, 18:19:38 »
Задача вывести на странице описания тура его дату в таком формате:
 "С 1 июля по 3 июля (понедельник-среда)"  
или "С 1.06 понедельник- по 3.06. среда).

Второй вариант предпочтительнее, так как вот что уже удалось вывести на данный момент макросом из двух полей типа данных "дата"

<xsl:text>С </xsl:text> <xsl:value-of select=".//property[@name = 'start_tour']/value" />
<xsl:text> по </xsl:text> <xsl:value-of select=".//property[@name = 'end_tour']/value" />  

вот такое

С Mon, 01 Jul 2013 00:00:00 +0400 по Wed, 03 Jul 2013 00:00:00 +0400

Интересует возможность корректировки уже видимых данных о дате тура в смысле перевода этих данных на русский язык для дней недели и убрать часы-минуты секунды ?

Есть такой предположение, что можно на основе шаблона из набора "demodizzy" вывода данных о дате, который используется для ленты новостей и новости..

36
В общем-то в заголовке уже вся суть, но если чуть подробнее, то задача вывести заголовок группы полей в отдельную ссылку пока не решается вот таким образом:
<xsl:apply-templates select=".//group[@name = 'description_own' and not(property/value='')]" mode="table-tabs-hotel" />
где "description_own" Заголовок группы нескольких полей и в результате выводятся данные этих самых полей....
Подскажите, пожалуйста, куда надо посмотреть и подправить?

37
Суть вопроса в трёх слова:
вот вызов страницы в шаблоне <xsl:value-of select="document('upage://381.content')//value" disable-output-escaping="yes" />

где 381 это Id страницы, в которой имеется контент требующий не регулярного показа на сайте, а точнее сообщение в футере сайта про дополнительный номер телефона, который не всегда надо показывать.

И сам вопрос:
как сделать так, что бы эта страница контента при выключении активности  (снятие галочки для "Активность")  и на сайте тоже отключалась ?

38
Здравствуйте!
Имеется такая задумка сделать табовый переключатель для описания объекта каталога так что бы два поля, отдельно редактируемые в админке могли отображаться по очерёдному нажатию а контенте описания объе5кта каталога.
И вот я создаю в типе данных "объект каталога" две группы полей "Особенности конструкции" и "  Описание" в которых создаю по одному полю с типом "HTML-текст".
Затем редактирую файл из набора "demodizzy" object-view.xsl в котором добавляю такой вот шаблон:

Вызов: <xsl:apply-templates select=".//group[@name = 'tabs_slider_descr_item']" mode="table-infoslider" />  

Шаблоны:

    <xsl:template match="group" mode="table-infoslider">
       <div id="tabs">
        <ul>
          <xsl:apply-templates select="property" disable-output-escaping="yes" mode="table-infoslider" />
        </ul>        
       </div>      
   </xsl:template>   
   
   <xsl:template match="property" mode="table-infoslider">
      <xsl:apply-templates select="document(concat('utype://', ../../../@type-id, '.', ../@name))/udata/group/field[@name = ./@name]/tip" mode="tip" />
       <li><a href="#tabs-1"><xsl:value-of select="title" /></a></li>       
         <li><a href="#tabs-2"><xsl:value-of select="title" /></a></li>
         <div id="tabs-1"><div class="pad-tabs"><xsl:value-of select="." /></div></div>   
   </xsl:template>
   
   <xsl:template match="property[last()]" mode="table-infoslider">
      <xsl:apply-templates select="document(concat('utype://', ../../../@type-id, '.', ../@name))/udata/group/field[@name = ./@name]/tip" mode="tip" />
         <div id="tabs-2"><div class="pad-tabs"><xsl:value-of select="." /></div></div>         
   </xsl:template>


И вот сам вопрос: всё работает, но символы экранируются, куда не пробовал вставить disable-output-escaping="yes" ничего не выходит...
Подскажите пожалуйста, что я упустил ?

39
Здравствуйте!
На основе шаблона "demodizzy" пытаюсь усовершенствовать функционал отправки сообщения администратору сайта в виде
контактных данных  с телефоном. То есть в шапке сайта будет ссылка "Обратный звонок".
В этой форме всего три поля "Имя" Номер "телефона" и "Удобное время для звонка".

Основывался в решении на этой статье "Вывод_формы_обратной_связи_в_модальном_окне"
http://wiki.umisoft.ru/%D0%92%D1%8B%D0%B2%D0%BE%D0%B4_%D1%84%D0%BE%D1%80%D0%BC%D1%8B_%D0%BE%D0%B1%D1%80%D0%B0%D1%82%D0%BD%D0%BE%D0%B9_%D1%81%D0%B2%D1%8F%D0%B7%D0%B8_%D0%B2_%D0%BC%D0%BE%D0%B4%D0%B0%D0%BB%D1%8C%D0%BD%D0%BE%D0%BC_%D0%BE%D0%BA%D0%BD%D0%B5

Плагин и стили Fancybox в последних версиях закачал и подключил в шаблоне, то есть всё как по статье сделал.
Форму сообщения создал в админке (id 131) и вот когда дошёл до этого места в статье: "Создаем форму обратной связи, если она не создана. И прописываем на нее ссылку, указав класс class="modal"."
- тут я и оказался в тупике...

То есть ссылку я так понял надо от вызова шаблона отправки сообщения
<xsl:apply-templates select="document('udata://webforms/add/131')/udata" mode="of-callback"/>
каким-то образом обернуть в тег <a></a>, то есть сделать примерно так:
<a href="{document('udata://webforms/add/131')/udata}" id="requestcall" class="modal" title="Заказать обратный звонок">
? - Правда в этом случае осуществляется переход на не существующую страницу...

Ссылка, если в "холостом" виде
<a id="requestcall" class="modal" title="Заказать обратный звонок" href="#inline">Заказать звонок</a>
то успешно, открывает модальное окно, что подтверждает правильное подключение скриптов и стилей.
Так же и из стандартной формы связи на сайте сообщения успешно отправляются и приходят на ящик администратора в виде уведомления - то есть вообще всё на уровне функционала работает.

Что делать с этим, подскажите пожалуйста, как правильно сделать ссылкой форму отправления в модальном окне?

40
Здравствуйте!
На сайте есть лента новостей и стандартный шаблоны для модуля "Новости" вывода ленты новостей (news-list.xsl) с анонсами и подробным содержанием каждой новости (news-item.xsl) удовлетворяют результатом. (пути к шаблонам как и в  "demodizzy").
Вопрос::
А если задействовать тот же модуль "Новости" для вывода на сайте статей и обзоров в таком же порядке как и лента новостей,
 но без отображения даты публикаций в ленте и подробном изложении статьи ?
Надо редактировать уже существующие шаблоны или создавать новые ?

41
Здравствуйте!
Искал на этом форуме по запросу "ограничение количества" в надежде найти ответ на вопрос:
возможно ли в шаблонизаторе XSLT настроить вывод краткого содержания новости (анонса) например на главной странице
?
Допустим, что ограничение анонса необходимо в 20 слов или в 150 символов.


42
Здравствуйте!
Возможно мой вопрос и не связан с XSLT-шаблонизатором, но пока не спросишь ведь не узнаешь.
Вопрос: как реализовать такую же подачу информации ,как здесь:
http://dev.docs.umi-cms.ru/spravochnik_makrosov_umicms/novosti/news_lastlents/
То есть как сделать так, что бы вкладки горизонтального меню на странице так же работали, как эти:
"Описание" "XSLT-шаблонизатор" "TPL-шаблонизатор" - явно что эти ссылки в виде якорей сделаны, но может быть есть что-то ещё, что заставляет при нажатии на одну из них открывать и закрывать соответствующую информацию.
Подскажите, кто уже имел оптыт раелизации такого "вложенного" меню.
 

43
В файле cart.xsl  папка templates\название_шаблона\xslt\modules\emarket\

<xsl:if test="$user-type != 'guest'">
         <p style="margin-top:30px;">
            <a href="{$lang-prefix}/emarket/ordersList/" >
               <xsl:text>&view-orders-list;</xsl:text>
            </a>
         </p>
      </xsl:if>

С которым рядом как мне думается можно подставив в строчку <xsl:if test="$user-type != 'guest'"> значение user вместо  guest  <xsl:if test="$user-type != 'user'"> скопировать ещё такой вариант и вставить ниже это:

<xsl:if test="$user-type != 'user'">
         <p style="margin-top:30px;">
            <a href="{$lang-prefix}/emarket/ordersList/" >
               <xsl:text>&view-orders-list;</xsl:text>
            </a>
         </p>
      </xsl:if>

Цель показывать корзину товаров по разному разным пользователям, то есть незарегистрированный покупатель должен вместо кнопки под корзиной "Оформить"  видеть "Зарегистрироваться и оформить" с ссылкой на страницу с регистрацией.
Как это сделать? Подскажите пожалуйста?

Для TPL-шаблонизатора такая вещь имеется:
http://wiki.umisoft.ru/%D0%9A%D0%B0%D0%BA_%D0%B7%D0%B0%D0%BF%D1%80%D0%B5%D1%82%D0%B8%D1%82%D1%8C_%D0%B3%D0%BE%D1%81%D1%82%D1%8F%D0%BC_%D0%BE%D1%84%D0%BE%D1%80%D0%BC%D0%BB%D1%8F%D1%82%D1%8C_%D0%B7%D0%B0%D0%BA%D0%B0%D0%B7%D1%8B_%28TPL%29

44
Здравствуйте! Требуется Ваша помощь.
Интересует подключение такого маленького, но ответственного "чек-бокса" для фактического подтверждения согласия незарегистрированного покупателя в момент оформления заказа на этапе заполнения своих контактных данных для свершения оплаты выбранных им товаров в корзине.
То есть условие такое: пока покупатель не нажмёт галочку в чек-боксе под названием "Я согласен с условиями договора оферты" кнопка оплатить не активизируется для нажатия.  
Есть ли такой уже готовый пример у кого либо ?  

Страницы: 1 2 [3]