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

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

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


Сообщения - john

Страницы: 1 [2] 3 4 ... 14
16
Спасибо.

Чтобы не путаться, удалил лишние слова
concat('udata://catalog/getObjectsList/template null/', page/@id, '/limit/padding/deep/field/order')

17
Разобрался в выводе объектов

сортировка по ASC
concat('udata://catalog/getObjectsList//', page/@id, '///2//1')

сортировка по DESC
concat('udata://catalog/getObjectsList//', page/@id, '///2//0')

Но все равно не так объекты выводятся, выводится пара по прядку и потом влезают другие
Что еще может влиять?

18
Помогите разобраться, данный макрос выводит все объекты и причем в разброс, нужно вывести по порядку
<xsl:apply-templates select="document(concat('udata://catalog/getObjectsList//', page/@id, '///2/'))/udata" />
1. List// - Шаблон, по которому выводятся объекты каталога, у меня он пустой
2. page/@id - id или путь до раздела каталога
далее набор
3. '///2/' Как я понимаю применяется правило ниже
limit  -  Количество объектов, выводимых на странице.
ignore_paging -  Игнорировать постраничный вывод.
i_need_deep  -  Глубина поиска объектов списка (во вложенных подразделах). По умолчанию — только в текущем разделе.
field_id -   id или имя поля, по которому должна выполняться сортировка. По умолчанию сортировка выполняется по расположению объектов в иерархии.
asc -   Порядок сортировки. Значение "1" задает прямой порядок сортировки, "0" — обратный.

Если я вношу изменения так '///2/1' или так '5///2/'
Макрос перестает работать.


19
Добрый день, изучал урок - Уведомление менеджеру о заказе, со всем необходимыми данными (emarket) XSLT

http://wiki.umisoft.ru/%D0%A3%D0%B2%D0%B5%D0%B4%D0%BE%D0%BC%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5_%D0%BC%D0%B5%D0%BD%D0%B5%D0%B4%D0%B6%D0%B5%D1%80%D1%83_%D0%BE_%D0%B7%D0%B0%D0%BA%D0%B0%D0%B7%D0%B5,_%D1%81%D0%BE_%D0%B2%D1%81%D0%B5%D0%BC_%D0%BD%D0%B5%D0%BE%D0%B1%D1%85%D0%BE%D0%B4%D0%B8%D0%BC%D1%8B%D0%BC%D0%B8_%D0%B4%D0%B0%D0%BD%D0%BD%D1%8B%D0%BC%D0%B8_%28emarket%29_XSLT

Прописал разные данные и все присылает.
<xsl:value-of select="document(concat('uobject://',$delivery1))//property[@name='city']/value" />
Но если в адресе доставки вбить новый адрес, то он пришлет старый адрес, который вбили в первый раз, как выбрать текущий?
Спасибо.

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

21
<xsl:if test="?"><xsl:apply-templates select="document(concat('usel://getsection/', /result/page/@id))" mode="getSection" /></xsl:if> Подскажите как можно написать условие, если не один товар не выбран, то код не срабатывал бы.
Спасибо

22
<xsl:apply-templates select="document(concat('usel://getsection/', /result/page/@id))" mode="getSection" /> использовал и все заработало.

23
1. Проверил USEL http://сайт/getSection/id_193/
Выводит Страница не найдена.
включил доступ к вызову usel через http протокол в config.ini
добавил строчку usel.http.allow = "1"
Так же ничего.

2. Для чего создаём тип данных "Usel каталог", дочерний  к типу данных "Каталог"?
Мы же в нем группу или поля не создаем?
Может указать  id типа данных "каталога"
На странице выводит "товаров нет"

Поэкспериментировал - в этом же типе данных для товаров, у поля ssylka_na_obekt, выбрал типа кнопка флажок вместо ссылка на дерево
1. getSection.xml остался без изменений, кроме как <page>{1}</page> заменил на <page>1</page>, иначе не работал

2. Вместо
<xsl:template match="/result[@method = 'category' and page/@type-id = 112]">
       <xsl:apply-templates select="document(concat('usel://getSection/',@pageId))/udata"  mode="getSection" />   
</xsl:template>

Поставил
	<xsl:template match="/result[@method = 'category'][/result/parents/page/@id = '192' or /result/page/@id = '192']" priority="1">
   
        <xsl:apply-templates select="document('usel://getSection/?limit=&specials-limit;')" mode="getSection" />     

</xsl:template>
Начиная с корневого каталога, вывел все товары у которых стоит галочка.

24
Решаю вопрос, как на странице раздела вывести все товары, у которых в поле типа ссылка на дерево указан данный раздел, тут  не понимаю как это сделать.


25
Верно, начал собирать через товар, исправил
шаг 1: В разделе товара создал поле "ссылка на дерево".
шаг 2: в целом понятен, usel
шаг 3: в каких шаблонах прописывать? и нужно ли что-то дополнительно?

26
Пошел дальше.
Правки 3 шага:
В файле /xslt/modules/catalog/category-view.xsl
написал путь к шаблону
<xsl:call-template name="other-catalog" />

	<xsl:template match="udata[@method = 'getObjectsList'][total]">
<div class="catalog_sort" />
<div class="catalog  list_view">
            <xsl:call-template name="sorting" />
            <xsl:call-template name="other-catalog" />
<div class="objects" umi:element-id="{category_id}" umi:module="catalog" umi:method="getObjectsList" umi:sortable="sortable">
<xsl:apply-templates select="lines/item" mode="short-view">
<xsl:with-param name="cart_items" select="document('udata://emarket/cart/')/udata/items" />
</xsl:apply-templates>
<div class="clear" />
</div>
</div>
<div class="clear" />
<xsl:apply-templates select="total" />
</xsl:template>

И тот код из шага 3 разметил в самом низу
В файле /xslt/modules/catalog/common.xsl

В результате я вижу только надпись
"Этот товар отмечен в следующих разделах:" и больше ничего.

27
шаг 1: В админке - Модули - Шаблон данных -  в типе данных "Объект каталога" -
создал поле "Страницы на которых выводить товар", идентификатор "ssylka_na_obekt"
тип - ссылка на дерево.

шаг 2: В папке /templates/demodizzy/usels/ создал файл getSection.xml, id - это раздел каталога в котором есть другие подразделы
и внутри которых имеются объекты каталога, внутри которых мы выбираем в каких разделах отображать его.   
<page>{1}</page> к чему это не разобрался

С текстом
 <?xml version="1.0" encoding="utf-8"?>
<selection>
<target result="pages">
    <type id="207" />
</target>
<property name="ssylka_na_obekt">
  <page>{1}</page>
</property>
</selection>

Шаг 3: Куда размещать и как размещать этот код, тоже не разберусь.
попробовал прям сюда /xslt/modules/catalog/category-view.xsl
Результат ноль.

<xsl:template name="other-catalog">
    <h3>Этот товар отмечен в следующих разделах:</h3>
    <xsl:apply-templates select="document('usel://getSection')/udata/page"  mode="getSection">
        <xsl:with-param name="this_page" select="@id" />
    </xsl:apply-templates>
</xsl:template>
 
<xsl:template match="page" mode="getSection">
    <xsl:param name="this_page" />
    <xsl:apply-templates select="document(concat('upage://', @id))/udata//property[@name='ssylka_na_obekt']/value/page" mode="getSectionPage" >
        <xsl:with-param name="this_page" select="$this_page" />
        <xsl:with-param name="this_link" select="@link" />       
        <xsl:with-param name="this_name" select="document(concat('upage://', @id))/udata//property[@name='h1']/value" />       
    </xsl:apply-templates>
 
</xsl:template>
 
<xsl:template match="page" mode="getSectionPage">
    <xsl:param name="this_page" />
    <xsl:param name="this_name" />
    <xsl:param name="this_link" />
 
    <xsl:if test="$this_page = @id">
        <div class="list" name="list"> - <a href="{$this_link}"><b><xsl:value-of select="$this_name" /></b></a></div>
    </xsl:if>   
</xsl:template>

29
Пытался какое-нибудь условие подобрать, последнее что осталось (position() &gt; 0)
Спасибо, заработало.

30
Всем добрый вечер, помогите разобраться. в похожей схеме.
Создал в типе данных, к которому относится товар, 3 поля типа изображение
В шаблоне xsl пишу
   
<xsl:template match="udata" mode="object-view">
                      <xsl:apply-templates select=".//group[@name='photos']" mode="obj-photos" />
далее
   
    <xsl:template match="group" mode="obj-photos" />
    <xsl:template match="group[count(property[@type='img_file']) &gt; 0]" mode="object-photos">
        <ul>
            <xsl:apply-templates select="property[@type='img_file']" mode="obj-photom-item" />
        </ul>
    </xsl:template> 

    <xsl:template match="property[position() &gt; 0]" mode="obj-photom-item">     
        <li>
            <img>
                <xsl:attribute name="src">
                    <xsl:call-template name="thumb">
                        <xsl:with-param name="src" select="value/node()" />
                        <xsl:with-param name="height">48</xsl:with-param>
                        <xsl:with-param name="width">auto</xsl:with-param>
                    </xsl:call-template>
                </xsl:attribute>
            </img>
        </li>
    </xsl:template>   

Создал товар с этим типом данных и заполнил 2 поля в карточке товара из 3.
У меня выводится 2 картинки и пустая третье поле без картинки, не могу её убрать.
А если ни одно из полей не заполнено, то все равно выводятся пустые картинки.
Подскажите как решить? Спасибо


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