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

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

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


Сообщения - tatfox

Страницы: [1] 2 3
1
Шаблоны XSLT / Re: Вывод подкатегории
« : 02 Октября 2018, 13:10:45 »
Создаем xsl:variable с названием list_cat
<xsl:variable name="list_cat" select="document('udata://catalog/getCategoryList/void//0/1/')/udata/items" />

Создаем шаблон вывода каталогов
<xsl:template match="item" mode="catalog_list">
  <div class="catalog">
    <div class="img">
      <img src="{document(concat('upage://',@id))/udata/page/properties/group[@name='more_params']/property[@name='header_pic']/value}" alt="{.}"  title="{.}" />
    </div>
    <div class="items">
    <a href="{@link}" title="{.}" class="link"><xsl:value-of select="." /></a>
         <p class="text">
          <xsl:value-of select="document(concat('upage://',@id))/udata/page/properties/group[@name='polya_dlya_kataloga_turov']/property[@name='nachalo_tura']/value" />
         </p>
    </div>
  </div>
</xsl:template>

Вызываем шаблон.
<xsl:apply-templates select="$list_cat" mode="catalog_list" />

2
Шаблоны XSLT / Вывод подкатегории
« : 01 Октября 2018, 13:07:51 »
Добрый день! Есть каталог и в нем подкаталоги.

Главный каталог
   Каталог 1
      Каталог 1
      Каталог 2
   Каталог 2
      Каталог 1
   Каталог 3
      Каталог 1

Главный каталог выводит все объекты всех подкаталогов. А нужно выводить подкаталоги и когда уже открываем подкаталог то объекты.

Вызов шаблона из templates/site1/xslt/imports/content.xsl
<xsl:apply-templates select="$list_tour" mode="inner_catalog" />

Шаблон inner_catalog из templates/site1/xslt/imports/catalog.xsl
<xsl:template match="udata[@method = 'getObjectsList']/lines/item" mode="inner_catalog">
   ...тут шаблон Объектов
</xsl:template>


4
Слово "должен" пока не соответсвует представленной логике. Наверное стоит подумать более внимательно об этом

А как мне проверить дочерние элементы на типы данных?

5

Первый шаблон должен присваивается для список каталогов т.е если это не список товаров и не объекты(товары).

6
Да пытаюсь работать с событиями. Если сделать вот так для  список каталогов, список товаров указывается шаблон с id=2
if($element->getMethod() == 'object'){
        $element->setTplId(3);
        }
                elseif($element->getMethod() == 'catalog'){
                       $element->setTplId(2);
                }
        else{
        $element->setTplId(1);
        }

7
Когда идет синхронизация с 1с то шаблоны страниц устанавливается по умолчанию, а я определяю страницы и указываю правильный шаблон страниц.

 Вот еще тема "Синхронизация с 1С не меняя указанные поля" http://umihelp.ru/forum/index.php/topic,2187.msg10396.html#msg10396

8
Добрый вечер! Нужно определить следующие каталоги сайта, это список каталогов, список товаров и карточка товара.

Карточку товара узнаю так
if($element->getMethod() == 'object'){
 //
}

Если не объект то это список каталогов
if($element->getMethod() != 'object'){
 //
}

Как узнать что страница список каталогов?

9
Добрый день!  Написал вот такой код, верно или неверно?

class common_exchange_template extends exchange {
    const template_id_1c = 3;
    const template_id_1c_2 = 4;

    public function exchangeSetTemplateElement(iUmiEventPoint $eventPoint) {
        if($eventPoint->getMode() !== 'after') {
            return false;
        }

        $element = &$eventPoint->getRef('element');

        if($element instanceof umiHierarchyElement){
        /*если объект то добавляем шаблон с id 4*/
        /*если не объект то шаблон 3*/
        if($element->getMethod() == 'object'){
        $element->setTplId(self::template_id_1c_2);
        }
        else{
        $element->setTplId(self::template_id_1c);
        }
           
        }
    }
}

10
Да, вполне нормально будут работать
ок, спасибо)

11
Можно написать кастом и отправлять данные через него.
Про то, как писать кастом - тут http://wiki.umisoft.ru/%D0%98%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_%D0%BA%D0%B0%D1%81%D1%82%D0%BE%D0%BC%D0%BD%D1%8B%D1%85_%D0%BC%D0%B0%D0%BA%D1%80%D0%BE%D1%81%D0%BE%D0%B2_%D0%B2_XSLT

В этом случае вы можете отправку данных на mail сделать в кастоме + добавить туда нужный вам функционал, например занесение информации в БД и привязка к конкретному пользователю.

Я тоже об этом думал. Если я буду создавать новые таблицы в БД umi он же нормально будет работать?

12
Добрый день! Есть форма которая отправляет данные на email, он работает очень просто. Обращается к файлу mail.php и через функцию mail() отправляет. Но нужно чтоб эти данные добавлялись в БД и вывести их в качестве отправленных для каждого пользователя.

Как я понял тут нужно написать отдельный модуль, который все это обрабатывает. Создание модуля http://api.docs.umi-cms.ru/razrabotka_nestandartnogo_funkcionala/razrabotka_sobstvennyh_makrosov_i_modulej/sozdanie_modulya/

Можно обойтись без модуля?

13
И не забудьте поле для количества снабдить классом amount и положить его в одну форму со своей кнопкой "Добавить в корзину"
Спсибо, как только сделаю отпишусь.)

15
Шаблоны TPL / Re: eshop user_orders не работет
« : 19 Мая 2016, 15:38:14 »
Для начала неплохо было бы понять, что именно значит "не работает", какой результат выдает макрос и можно ли посмотреть его.

В первую очередь проверьте, что у вас по пути /classes/modules/ есть папка eshop.

Насколько я понимаю, в последних версиях UMI CMS этого модуля уже нет в комплекте. Может в этом-то и основная проблема.

Да и в правду нету. Может есть аналог данного макроса?

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