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

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

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


Сообщения - muldy

Страницы: 1 ... 13 14 [15]
211
Да конечно!
Имеем меню вида:

1 Товары для кухни
1.1 Тарелки
1.2 Кастрюли
1.3 Сковородки

2. Товары для ванной
2.1 Щетки
2.2 Перчатки
и тд

Все товары относятся к разделу Дом, но они не находятся в корне Раздела Дом!

Вид в структуре:

1 Дом
2 Товары для кухни
3 Тарелки
4 Кастрюли
5 Сковородки
и тд
Те все разделы находятся в корне сайта

Сейчас выводятся по принципу, задаем значение галочкой.
Например:
ТОвары для кухни ---- стоит галочка Товары для дома
Товары для ванной  ----- аналогично

Далее пункты которые являются подразделом выводятся, также но для разделения
создан выпадающий список, который задает к какому подразделу относится категория!

Вообщем выборка, достаточно тяжелая получается!








212
Вообщем в целях ускорения umi, требуется написать макрос, который будет выводить меню по готовой(нашей) логике!
Сейчас работает на usel, но так как пунктов много происходит большая выборка!

213
Имеем разделы от корня сайта:
- Телевизоры SOny -15"
   - Товар
   - Товар
   - Товар
- Телевизоры SOny -20"
   - Товар
   - Товар
   - Товар
- Телевизоры SOny -25"
   - Товар
   - Товар
   - Товар

Требуется вывести все разделы в меню под общим именем, не разделом просто пунктом: Телевизоры.

Чтобы получить подобное меню:
<ul>
<li><a href="">Sony</a>
<ul><li><a href="">Телевизоры SOny -15"</a></li>
<li><a href="">Телевизоры SOny- 20"</a></li>
и т.д.
<ul>
<li>
</ul>
Идем в редактирование шаблона данных "Раздел каталога". Добавляем поле, заголовок - Телевизоры.


Создаем шаблон usel выборки вида:

<?xml version="1.0" encoding="utf-8"?>
<selection>
   <target result="pages">
      <type id="77" />
   </target>
   <property name="{1}" value="1" />
   <limit page="0">40</limit>
</selection>

Где id=77 это шаблон раздела каталога.

В шаблоне данных создаем новое поле имя - Sony, которое будет относится к конкретной категории.

Вызываем меню:
<xsl:apply-templates select="document('usel://left_menu/sony')/udata" mode="menu_usel"/>

Далее обрабатываем шаблон:

<xsl:template match="udata" mode="testov_menu">
      <xsl:variable name="tes_id" select="page/@id" />
       <xsl:variable name="page_sony" select="document(concat('upage://', page/@id))//property[@name = 'podmenyu_tip_tovarov']/value/item/@id" />
       <xsl:variable name="ugud" select="document('usel://guide/132')/udata/item/id"/>
       <xsl:variable name="item_id" select="document('usel://ch_page/')/item/@id" />
       <xsl:apply-templates select="document('usel://guide/132')/udata/item" mode="newest1"/>
       <xsl:apply-templates select="total"/>
   </xsl:template>

Далее в принципе можно обработать стандартно вызов!
 

214
Шаблоны XSLT / Доставка в другой валюте!
« : 06 Марта 2013, 13:12:08 »
Здравствуйте, суть в следующем, изменил отображение валюты с помощью способа: http://wiki.umisoft.ru/%D0%9E%D1%82%D0%BE%D0%B1%D1%80%D0%B0%D0%B6%D0%B5%D0%BD%D0%B8%D0%B5_%D1%86%D0%B5%D0%BD%D1%8B_%D1%82%D0%BE%D0%B2%D0%B0%D1%80%D0%B0_%D0%BD%D0%B0_%D1%81%D0%B0%D0%B9%D1%82%D0%B5_%D0%B2_%D0%B4%D1%80%D1%83%D0%B3%D0%BE%D0%B9_%D0%B2%D0%B0%D0%BB%D1%8E%D1%82%D0%B5_(2.8)

Все хорошо но остался не решенный момент который не описан в справке, цена доставки остается в валюте по умолчанию! С выводом на сайт это еще можно решить!
А вот как поступить в печатной форме заказа, не знаю! Получается что система считает и складывает всю сумму в валюте по умолчанию.
Все цены товаров отображаются как надо, а вот Стоимость доставки отображается в валете по умолчанию!

Подскажите как решить такую задачу???

215
Что нам нужно, что бы это сделать:
0. Найти как получать меню ( content::menu )
1. Получить список разделов верхней категории
2. Для каждого элемента верхней категории получить вложенные

К примеру, разделы у нас лежат в корне сайта.

Получаем верхнии категории:

<xsl:apply-template select="document('udata://content/menu')/udata/items" mode="my_menu"/>

Пишем шаблон для обработки верхних категорий. Я обычно делаю шаблоны с учётом случая, что элементов может не быть и выводить ничего не придётся, поэтому делаю так:

<xsl:template match="items" mode="my_menu">
<ul>
<xsl:apply-templates select="item" mode="my_menu"/>
</ul>
</xsl:template>
Если есть items, значит элементы есть и надо создать <ul/>

Теперь выводим элементы меню верхней категории.  К этому моменты мы вернёмся ещё, поэтому пометим его (1)

<xsl:template match="item" mode="my_menu">
<li><a href="@link"><xsl:value-of select="."/></a></li>
</xsl:template>
Мы вывели меню в таком виде:
<ul>
<li><a href="link1">ВерхнийРаздел1</a></li>
<li><a href="link2">ВерхнийРаздел2</a></li>
<li><a href="link3">ВерхнийРаздел3</a></li>
<li><a href="link4">ВерхнийРаздел4</a></li>
</ul>

Для каждого элемента верхнего раздела нужно вывести дочерние. Воспользуемся ещё раз content::menu и вернёмся к листингу (1), слегка изменив его

<xsl:template match="item" mode="my_menu">
<li>
<a href="@link"><xsl:value-of select="."/></a>
<xsl:apply-template select="document(concat('udata://menu/content///',@id))/udata.item" mode="inner_menu"/>
</li>
</xsl:template>

Теперь опишем шаблон для вывода внутренних разделов меню.
<xsl:template match="items" mode="inner_menu">
<ul>
<xsl:apply-templates select="item" mode="inner_menu"/>
</ul>
</xsl:template>

<xsl:template match="item" mode="inner_menu">
<li><a href="@link"><xsl:value-of select="."/></a></li>
</xsl:template>

Код не проверял, фигачил прям так.

Решение этой задачей является базовой для понимания xslt и базовой для понимания работы с макросами umi

Этот вариант базовый, он понятен, но суть в том что у меня нет вложенных разделов!

Я решил задачу с помощью usel протокола!
Если надо могу поделиться своим способом!


216
Здравствуйте, встала не очевидная задча формирования меню!
Есть каталог, который выглядет так:

Раздел 1
Раздел 2
Раздел 3
Раздел 4
и т.д.

Все четыре или более пукнтов должны быть объедены в список, т.е так:
<ul>
Имя пункта
<ul>
<li>Раздел 1</li>
<li>Раздел 2</li>
<li>Раздел 3</li>
<ul>
Имя пункта
<ul>
<li>Раздел 4</li>
<li>Раздел 5</li>
<li>Раздел 6</li>
<ul>
</ul>

Не могу разобратся, станадартными методами не получается, т.к все разделы начинаются от корня сайта
Пробывал задавать каждому элменту свои шаблоны, но как оказалось все равно не получается!
Подскажите как можно реализовать подобную задачу????

217
скорее всего у вас ошибка при заполнении какой-то формы, что должно выражаться в параметре err в адресной строке, и если там такой есть, то надо вывести макрос %system listErrorMessages()%
В адресной строке ничего нет! Страница просто обновляется и все!))

218
udata://custom/curr_time
Да уж, спасибо забыл как выводится!)

219
Прописал кастом в /classes/modules/custom.php
Но как мне теперь его вывести?
Пробую так udata://curr_time - не получается!?

220
Здравствуйте, делаю по инструкции в вики "Оформление заказа в один шаг", формы все выводятся но при отправке формы страница просто перезагружается и все??
Вот основная формы вывода:

<xsl:template match="udata" mode="fast_purch">
<form method="post" action="/emarket/saveinfo/">

<xsl:apply-templates select="document(concat('udata://data/getEditForm/', customer/object/@id))" />

<xsl:apply-templates select="delivery" mode="delivery-address" />
<xsl:apply-templates select="delivery_choose" mode="delivery-choose" />
<xsl:apply-templates select="payment" mode="payment" />

<input type="submit" class="button" value="Оформить заказ" />

</form>
</xsl:template>

Не пойму почему не происходит отправка заказа?

221
вам надо вывести текущее время? или вам нужен unix-timestamp при выводе списка новостей? или просто на странице которая содержит поле типа "дата"?
Мне надо вывести текущее время в формати unix!

222
Шаблоны XSLT / Вывод даты в формате unix-timestamp
« : 27 Февраля 2013, 12:24:42 »
Здравствуйте, собственно вопрос как вывести дату в формате unix-timestamp?
Есть макрос curr_time но он работает только в tpl!

Страницы: 1 ... 13 14 [15]