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

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

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


Темы - KTI

Страницы: [1]
1
Возникла такая проблема..
При импорте данных из 1С нужно импортировать поля TITLE, DESCRIPTION
Для начала хотя-бы TITLE. и хотя-бы для категорий товаров (не для самих товаров)
В файле commerceML2.xsl поле TITLE заполняется так
				<group name="common">
<title>Основные параметры</title>
<property name="title" type="string">
<title>Поле TITLE</title>
<value><xsl:value-of select="Наименование" /></value>
</property>
<property name="h1" type="string">
<title>Поле H1</title>
<value><xsl:value-of select="Наименование" /></value>
</property>
</group>

я сделал в выгрузке из 1С дополнительное поле TITLE (кусок файла import.xml )
                   <Группа>
                      <Ид>d359e107-5f8b-4260-82da-9e0cf73fad3f</Ид>
                      <Наименование>Телевизоры</Наименование>
              <TITLE>Купить Телевизоры</TITLE>
                    </Группа>

а шаблон commerceML2.xsl поменял на

				<group name="common">
<title>Основные параметры</title>
<property name="title" type="string">
<title>Поле TITLE</title>
<value><xsl:value-of select="TITLE" /></value>
</property>
<property name="h1" type="string">
<title>Поле H1</title>
<value><xsl:value-of select="Наименование" /></value>
</property>
</group>

НО при импорте поле TITLE становится пустым! Причем если поменять обратно на "Наименование" - оно заполняется наименованием, т.е. поля H1 и TITLE  становятся одинаковые. А если H1 <> TITLE  то TITLE  просто остается пустым.
Вопрос почему?

2
Шаблоны XSLT / Импорт данных в UMI
« : 17 Октября 2012, 12:55:02 »
В вики есть статья про добавление нескольких изображений товаров, там такой шаблон (добавляется в кастом commerceML2.xsl):
	<xsl:template match="Товар/Картинка">
<xsl:if test="string-length(.)">
<property name="photo{position()}" title="Картинка{position()}" type="img_file" visible="visible" allow-runtime-add="1">
<type data-type="img_file"/>
<title>Картинка</title>
<value>./images/cms/data/<xsl:value-of select="."/></value>
</property>
</xsl:if>
</xsl:template>

он создает новые поля (если их не было): photo2, photo3 и т.д.:
.....
<property id="450" name="photo2" type="img_file">
<property id="450" name="photo3" type="img_file">
.....

Почему когда я вставляю свой шаблон:
	<xsl:template match="Товар/Видео">
<xsl:if test="string-length(.)">
<property name="video" type="string" visible="visible" allow-runtime-add="1">
<title>Видео</title>
<value><xsl:value-of select="."/></value>
</property>
</xsl:if>
</xsl:template>
у меня новое поле (video) не создается (само)?
В xml файле это поле есть, шаблон точно срабатывает

3
суть в чем, есть вызов шаблона:
<a href="{.//property[@name ='photo']/value}">
<xsl:call-template name="catalog-thumbnail">
<xsl:with-param name="element-id" select="page/@id" />
<xsl:with-param name="field-name">photo</xsl:with-param>
<xsl:with-param name="width">200</xsl:with-param>
</xsl:call-template>
</a>
который возвращает тег <img>, вопрос в том как в него (в этот тег) вставить атрибут alt?
менять штатный шаблон thumbnails.xsl не хотелось-бы

4
Может уже было, не нашел..
В вики есть статейка по импорту нескольких изображений для одного товара, там только описано как загрузить данные в umi, а примера шаблона нет.
Данные я загрузил, вопрос в так, как их теперь обработать? т.е. у меня в товаре получилось следующее:

<property id="448" name="photo2" type="img_file">
<title>Картинка2</title>
<value path="./images/cms/data/import_files/15/15545916-b8a9-4054-b943-d76dc2c6e14b_2.jpg" folder="/images/cms/data/import_files/15" name="15545916-b8a9-4054-b943-d76dc2c6e14b_2" ext="jpg" width="800" height="382">
/images/cms/data/import_files/15/15545916-b8a9-4054-b943-d76dc2c6e14b_2.jpg
</value>
</property>
<property id="449" name="photo3" type="img_file">
<title>Картинка3</title>
<value path="./images/cms/data/import_files/15/15545916-b8a9-4054-b943-d76dc2c6e14b_3.jpg" folder="/images/cms/data/import_files/15" name="15545916-b8a9-4054-b943-d76dc2c6e14b_3" ext="jpg" width="602" height="600">
/images/cms/data/import_files/15/15545916-b8a9-4054-b943-d76dc2c6e14b_3.jpg
</value>
</property>
как правильно написать шаблон вывода этих изображений, дело в том что их бывает 3, бывает 7

5
Нужно сделать 2 кнопки в форме товара: переход к следующему, переход к предыдущему товару.
Мне хотя-бы идею, алгоритм для начала, там уже буду пробовать

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

<xsl:template match="/result[@module = 'catalog' and @method = 'object']">
<xsl:apply-templates select="document(concat('upage://', page/@id,'?show-empty'))/udata" mode="object-view" />
</xsl:template>

6
Если admin не возражает, завел тему не имеющую прямого отношения к umi, но думаю многим пригодится.
У кого будут какие мысли? Хочу без привлечения сторонних плагинов, какой-то самодельный. К плагинам нужно ставить консоли и т.д.
Хочется небольшой, чтобы только отправлял на почту адрес странички, где ошибка, ну можно еще выделенный текст.
сразу возникло несколько вопросов:
Как из Js передать выделенный текст и адрес страницы
Куда передавать: в шаблоны (зачем?) или в php, который сразу отправит письмо. Как обезопасить все это дело от спама

7
нашел в вики такую кастомную функцию (получение максимальной цены)

public function getMaxPrice($id_parent){
        $id_parent = (int) $id_parent;
        $sql_max = "SELECT MAX(c1.float_val) FROM cms3_objects o, cms3_hierarchy h , cms3_object_content c1
                    WHERE h.obj_id = o.id AND h.is_deleted = '0'  AND h.is_active = '1' AND h.type_id = '49'
                    AND c1.obj_id = o.id AND c1.field_id = '218'";
        $result_max = l_mysql_query($sql_max);
        list($max) = mysql_fetch_row($result_max);
        return $max;
    }
она работает, но для всего каталога. Как мне ее переделать (запрос), чтобы получить максимальную или минимальную цену в определенной категории товаров (по id)?

8
Шаблоны XSLT / как работать с выборками USEL
« : 13 Апреля 2012, 09:06:21 »
У меня такая проблема, мне нужно сделать выборку похожих по цене товаров (например 3), из определенной категории. Так вот, если в этой категории мало товаров, то большая вероятность попадания в выборку самого товара.
Т.е. другими словами - как исключить из выборки определенный товар? чтобы он не попадал в выборку. мой usel:
<?xml version="1.0" encoding="utf-8"?>
<selection>
   <target result="pages">
      <type module="catalog" method="object" />
      <category depth="3">{1}</category>
   </target>
   <property name="price">
      <min-value>{2}</min-value>
      <max-value>{3}</max-value>
   </property>
   <sort>rand()</sort>
   <limit page="0">3</limit>
</selection>

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