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

Последние сообщения

Страницы: [1] 2 3 ... 10
1
Шаблоны PHP / Re: Как узать активный пункт в menu draw?
« Последний ответ от pandus 20 Августа 2017, 22:01:55 »
Странно, отключил кэш заработало.
При включении "Кэширование макросов и протоколов для XSLT и PHP шаблонизаторов" активируется всегда первый пункт меню.  :-X
2
Шаблоны PHP / Re: Как узать активный пункт в menu draw?
« Последний ответ от admin 20 Августа 2017, 21:49:55 »
Либо по каким-то причинам в $variables у соответствующего пункта (item) не стоит этот статус, либо при выводе он не выводится.

Для начала, проверьте что у вас в этом массиве данных $variables (просто выведите всю переменную в конечный html, который формируется у вас в этом шаблоне).

3
Шаблоны PHP / Как узать активный пункт в menu draw?
« Последний ответ от pandus 20 Августа 2017, 21:39:43 »
Пытаюсь в menu draw на php узнать активный пункт меню и ничего не получается.
Как я понял из документации узнать активный пункт элемента меню можно по параметру attribute:status, пытаюсь перебрать массив и ничего не получается ???.
В шаблоне menu draw пишу следующее :
<ul>
<?php foreach($variables['nodes:item'] as $item): ?>
    <li class="<?=$item['attribute:status']?>">
        <a href="<?=$item['attribute:link']?>"><?=$item['node:text']?></a>
    </li>
<?php endforeach; ?>
</ul>

Меню выводится но активный пункт меню не выделяется классом active, в чём может быть причина?
4
Шаблоны PHP / Многоуровневое меню PHP + Модуль меню
« Последний ответ от StanlyBSV 10 Августа 2017, 20:42:18 »
Добрый вечер!
Кто нибудь сталкивался с задачей создания основного многоуровневого меню на шаблонизаторе PHP используя модуль "Меню"?
В самом модуле создал структуру меню и назвал main_menu
Вывел в шаблоне:
<?= $this->render('main_menu', 'layout/header/menu') ?>
Собственно проблема заключается в том, что документации на этот счет попросту нет, а выводить только первый уровень и где надо отдельно еще одним меню второй уровень - ужас. Как описать вывод до 3-х уровней?
<?php
$menuId = $variables;
$data = $this->getMenu($menuId);
$pageList = $data['lines'];
?>

<ul>
<?php foreach ($pageList as $page): ?>
<li>
<a href="<?= $page['link'] ?>">
<?= $page['name'] ?>
</a>
</li>
<?php endforeach; ?>
</ul>
5
Шаблоны XSLT / Опции товара - почему не работает код взятый с вики?
« Последний ответ от Canekt 09 Августа 2017, 12:07:14 »
Добрый день, давно не писал, но тут снова столкнулся с проблемой. Нужно было реализовать опции товара.
В шаблон данных добавил опцию, забил ее карточке товара. Далее полез в вики и наткнулся на это решение: http://wiki.umisoft.ru/%D0%A0%D0%B0%D0%B1%D0%BE%D1%82%D0%B0_%D1%81_%D0%BE%D0%BF%D1%86%D0%B8%D0%BE%D0%BD%D0%BD%D1%8B%D0%BC%D0%B8_%D1%81%D0%B2%D0%BE%D0%B9%D1%81%D1%82%D0%B2%D0%B0%D0%BC%D0%B8.

Вставил код из вики:
<dl>
   <xsl:apply-templates select=".//group[@name = 'catalog_option_props']/property"  mode="propertys" />
</dl>


<xsl:template match="property" mode="propertys" >
<dt>
   <label>
      <xsl:value-of select="title"/>
   </label>
</dt>
<dd>
   <select id="{@name}" name="options[{@name}]">
      <xsl:apply-templates select=".//option"  mode="propertys" />
   </select>           
</dd>
</xsl:template>
 
<xsl:template match="object" mode="propertys" >
<option value="{@id}">
   <xsl:value-of select="@name" disable-output-escaping="yes" />
</option>
</xsl:template>

Но данный метод выдает на белом экране ошибку в файле
classes/system/subsystems/umiTemplaters/types/umiTemplaterXSLT.php on line 33

Далее методом тыка пробовал разные варианты, не подошло ничего!
Попробовал взять решение из дефолтного шаблона, все отображается (но ооочень криво и к тому же не работает).

Далее обрезал код из вики оставил вот это
<dl>
   <xsl:apply-templates select=".//group[@name = 'catalog_option_props']/property"  mode="propertys" />
</dl>

При этом вывелся заголовок опции. Далее немного изменил
<xsl:apply-templates select=".//group[@name = 'catalog_option_props']" mode="table_options" />
теперь все опции выводятся, но как и с решением из дефолтного шаблона, ничего не считает и не отображается в заказе.

Подскажите, как мне добиться, чтобы решение из вики заработало?
6
Макросы UMI.CMS / Раздел "Скидки"
« Последний ответ от onelawyer 07 Августа 2017, 16:56:56 »
Доброго времени суток, подскажите где имеется информация по данному вопросу или как это сделать:

Сайт построен на TPL-шаблонизаторе, необходимо вывести в отдельном разделе из всего каталога товары со скидкой
7
Макросы UMI.CMS / Re: Вывод товаров к которым применена скидка
« Последний ответ от onelawyer 07 Августа 2017, 14:52:40 »
так как скидки могут применяться не только на товары, но и на заказы и на пользователя, то вывести все товары, на которые применяются скидки не совсем ресурсоёмкая задача.

По сути, почти всегда подобные задачи решались кастомом, который в большинстве случае делал примерно следующее.

Брались все скидки из них выбирались только те, которые применяются на товары или группы товаров... из них мы вытягивали информацию о том какие товары или группы товаров нам надо вывести и выводили их.

Т.е. это нужно делать вот так:

http://wiki.umisoft.ru/Вывод_всех_товаров,_которым_назначены_скидки
8
Шаблоны TPL / Раздел "Скидки"
« Последний ответ от onelawyer 07 Августа 2017, 13:58:36 »
Доброго времени суток, подскажите где имеется информация по данному вопросу:

Сайт построен на TPL-шаблонизаторе, необходимо вывести в отдельном разделе из всего каталога товары со скидкой
9
Шаблоны PHP / Re: Вывод картинки подраздела в Категории
« Последний ответ от ulla 31 Июля 2017, 15:07:32 »
Добрый день!))

тот же вопрос, что и у автора)

Название категорий каталога я вывела, а вот вывести изображение заголовка (header_pic) не знаю как. Есть решения на XSLT-шаблонизатора, а php пока нет. Название вывожу так:

<?php
/**
 *
 * @var umiTemplaterPHP|ViewPhpExtension|DemomarketPhpExtension $this
 * @var array $variables
 */
$categoryList = @$variables['items'] ? : [];
?>
    <div class="row" umi:element-id="<?= $variables['category_id'] ?>" umi:module="catalog" umi:sortable="sortable" umi:add-method="popup">
        <?php foreach ($categoryList as $category): ?>
            <div class="col-md-3 col-xs-6">
                <div class="tab_container">
                    <div class="tab_item add_to_cart_block">
                        <a href="<?= $category['link'] ?>" umi:field-name="name" umi:delete="delete" umi:empty="<?= $this->translate('empty_section_name') ?>">
                            <?= @$category['text'] ?: '' ?>
                           
                        </a>
                        <img src="{document(concat('upage://', @id, '.header_pic'))/udata/property/value}"/>
                    </div>
                </div>
            </div>
        <?php endforeach; ?>
    </div>

Пожалуйста, не пинайте)) помогите кодом)) спасибо))
10
Видимо никак :-) Писать какой-нибудь кастом, который будет делать пост обработку HTML перед отдачей с сервера. Но это лишняя нагрузка + дополнительный потенциальный источник багов.
Страницы: [1] 2 3 ... 10