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

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

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


Темы - Canekt

Страницы: [1]
1
Добрый день, давно не писал, но тут снова столкнулся с проблемой. Нужно было реализовать опции товара.
В шаблон данных добавил опцию, забил ее карточке товара. Далее полез в вики и наткнулся на это решение: 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" />
теперь все опции выводятся, но как и с решением из дефолтного шаблона, ничего не считает и не отображается в заказе.

Подскажите, как мне добиться, чтобы решение из вики заработало?

2
По умолчанию товары в категориях фильтруются по цене, сначала самые дешевые, далее дорогие. Как сделать, чтобы по умолчанию в категории показывались последние товары (созданные или измененные)?
Добавил в товары поле с идентификатором publish_time и типом данных Дата. А вот что менять в шаблоне чтобы выводились товары как надо - хз. Помогите плиз! Шаблон xslt

3
К сожалению не врубаюсь в js, достаточно сносно знаю php, но это к сожалению не помогает, корзина в магазине на аякс. Когда клиент нажимает добавить в корзину меньше 10-и штук (одной позиции), надо чтобы в корзину кидалось бы 10 штук. Неужели нету возможности стандартно реализовать, такую простую функцию?

4
Снова здравствуйте, замучил уже Вас наверно плодить темы, но извините, уж так получается!

Правлю шаблон письма заказа, чтобы все приходило на почту (все данные).
Воспользовался памяткой 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_(emarket)_XSLT

И вроде все нормально получилось, все приходит, но вот незадача, если клиент не зарегистрирован и делает заказ, то его данные а именно адрес и самое главное телефон, не приходят, код письма получился следующий:
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE xsl:stylesheet SYSTEM "ulang://i18n/constants.dtd:file">

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<xsl:output encoding="utf-8" method="html" indent="yes" />

<xsl:template match="status_notification">
<xsl:apply-templates select="document(concat('udata://emarket/order/',order_id))" mode= "unic"/>
<xsl:text>Ваш заказ #</xsl:text>
<xsl:value-of select="order_number" />
<xsl:text> </xsl:text>
<xsl:value-of select="status" />
<br/><br/>
<xsl:text>Посмотреть историю заказов вы можете в своем </xsl:text>
<a>
<xsl:call-template name="personal_link" />
<xsl:text>личном кабинете</xsl:text>
</a>.
</xsl:template>

<xsl:template match="status_notification_receipt">
<xsl:apply-templates select="document(concat('udata://emarket/order/',order_id))" mode= "unic"/>
<xsl:text>Ваш заказ #</xsl:text>
<xsl:value-of select="order_number" />
<xsl:text> </xsl:text>
<xsl:value-of select="status" />
<br/><br/>
<xsl:text>Посмотреть историю заказов вы можете в своем </xsl:text>

<a>
<xsl:call-template name="personal_link"/>
<xsl:text>личном кабинете</xsl:text>
</a>.
<br/><br/>
<xsl:text>Квитанцию на оплату вы можете получить, перейдя по </xsl:text>
<a href="http://{domain}/emarket/receipt/{order_id}/{receipt_signature}/">
<xsl:text>этой ссылке</xsl:text>
</a>.
</xsl:template>

<xsl:template match="neworder_notification">
<xsl:apply-templates select="document(concat('udata://emarket/order/',order_id))" mode= "unic"/>
<xsl:text>Поступил новый заказ #</xsl:text>
<xsl:value-of select="order_number" />
<xsl:text> (</xsl:text>
<a href="http://{domain}/admin/emarket/order_edit/{order_id}/">
<xsl:text>Просмотр</xsl:text>
</a>
<xsl:text>)</xsl:text><br/><br/>
<xsl:text>Способ оплаты: </xsl:text>
<xsl:value-of select="payment_type" /><br/>
<xsl:text>Статус оплаты: </xsl:text>
<xsl:value-of select="payment_status" /><br/>
<xsl:text>Сумма оплаты:  </xsl:text>
<xsl:value-of select="price" /> руб.<br/>


<xsl:variable select="document(concat('uobject://',order_id))//property[@name='customer_id']/value/item/@id" name="customer1"/>
<xsl:text>Имя:  </xsl:text>
<xsl:value-of select="document(concat('uobject://',$customer1))//property[@name='fname']/value" />
<br />
<xsl:text>Фамилия: </xsl:text>
<xsl:value-of select="document(concat('uobject://',$customer1))//property[@name='lname']/value" />
<br />
<xsl:text>Отчество: </xsl:text>
<xsl:value-of select="document(concat('uobject://',$customer1))//property[@name='father_name']/value" />
<br />
<xsl:text>E-mail: </xsl:text>
<xsl:value-of select="document(concat('uobject://',$customer1))//property[@name='email']/value" />
<br />
<xsl:text>Телефон:  </xsl:text>
<xsl:value-of select="document(concat('uobject://',$customer1))//property[@name='phone']/value" />
<br />
<xsl:text>Адрес доставки: </xsl:text>
<br />
<xsl:variable select="document(concat('uobject://',order_id))//property[@name='delivery_address']/value/item/@id" name="delivery1"/>
<xsl:text>Страна: </xsl:text>
<xsl:value-of select="document(concat('uobject://',$delivery1))//property[@name='country']/value" />
<br />
<xsl:text>Индекс: </xsl:text>
<xsl:value-of select="document(concat('uobject://',$delivery1))//property[@name='index']/value" />
<br />
<xsl:text>Регион: </xsl:text>
<xsl:value-of select="document(concat('uobject://',$delivery1))//property[@name='region']/value" />
<br />
<xsl:text>Город:  </xsl:text>
<xsl:value-of select="document(concat('uobject://',$delivery1))//property[@name='city']/value" />
<br />
<xsl:text>Улица: </xsl:text>
<xsl:value-of select="document(concat('uobject://',$delivery1))//property[@name='street']/value" />
<br />
<xsl:text>Дом: </xsl:text>
<xsl:value-of select="document(concat('uobject://',$delivery1))//property[@name='house']/value" />
<br />
<xsl:text>Квартира: </xsl:text>
<xsl:value-of select="document(concat('uobject://',$delivery1))//property[@name='flat']/value" />
<br />
<xsl:text>Комментарий к адресу: </xsl:text>
<xsl:value-of select="document(concat('uobject://',$delivery1))//property[@name='order_comments']/value" />
</xsl:template>

<xsl:template match="invoice_subject">
<xsl:text>На сайте </xsl:text>
<xsl:value-of select="domain" />
<xsl:text> успешно сформирован счет</xsl:text>
</xsl:template>

<xsl:template match="invoice_content">
<xsl:text>Вы можете распечатать счет для юридических лиц, </xsl:text>
<xsl:text>перейдя по следующей ссылке</xsl:text>
<p>
<a href="http://{domain}{invoice_link}">
<xsl:value-of select="concat('http://', domain, invoice_link)" />
</a>
</p>
</xsl:template>





<xsl:template match="udata" mode= "unic">
   <div class="order">
   <hr/>
   <xsl:apply-templates select="items/item" mode = "lin"/>
   <hr/>
  <b>Всего товаров: </b> <xsl:value-of select="summary/amount" /> шт.
   <b>На сумму:</b> <xsl:value-of select="summary/price" /> <xsl:value-of select="summary/price/@suffix" />.
    <hr/>
   </div>
</xsl:template>


<xsl:template match="udata//item" mode= "lin">

   <a href="{page/@link}"><xsl:value-of select="@name"/></a> Цена: <xsl:value-of select="price"/> <xsl:value-of select="price/@suffix" />. Кол-во: <xsl:value-of select="amount"/> шт. <br />
 
   
 

</xsl:template>











<xsl:template name="personal_link">
<xsl:attribute name="href">
<xsl:choose>
<xsl:when test="personal_params">
<xsl:value-of select="concat('http://', domain, '/emarket/personal/void/', personal_params, '/')" />
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="concat('http://', domain, '/emarket/personal/')" />
</xsl:otherwise>
</xsl:choose>
</xsl:attribute>
</xsl:template>

</xsl:stylesheet>

Извините, что такой огромный, но думаю надо видеть общую картину.

Помогите плиз вставить данные гостя
(хотя бы его телефон).
Заранее огромное спасибо!

5
Сегодня заметил, что главная страница работает не так как надо, выпадающие меню не работает и в корзине не отображается кол-во заказов. На всех других страницах все работает как надо, вчера также все работало. Консоль на главной странице выдает ошибку
swiper.js:3554 Uncaught TypeError: Cannot read property 'classList' of undefined.

Сайт 1optom.com.

Как победить это недоразумение

6
Подскажите как реализовать пометки на картинках к примеру хит или новинка

7
Подскажите пожалуйста как сделать, чтобы 1 товар отображался в нескольких категориях? или как продублировать товар, чтобы проще было добавлять однотипные товары. В админке к сожалению не нашел, кнопочки дублировать(((((

8
Всем здравствуйте, возможно ли подобное на umi.cms? Смысл в следующем, цена на товар стоит самая маленькая (за самое большое кол-во товаров одного наименования), возможно ли сделать, чтобы в зависимости от кол-ва цена изменялась? например по умолчанию стоит 100 руб и выставлено кол-во скажем 10 если клиент уменьшает кол-во то цена увеличивается и так несколько порогов

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