Best Answer SmetDenis , 18 November 2015 - 07:30
Попробуйте новый вариант
Go to the full post
Best Answer SmetDenis , 18 November 2015 - 07:30
Попробуйте новый вариант
Go to the full post
Posted 19 November 2015 - 14:47
Попробуйте так
$discount = $order->getElement('<ELEMENT_ID>', JBCart::CONFIG_MODIFIER_ITEM_PRICE); echo $discount->getName(); echo $discount->config->get('name');
— Есть два типа людей: Кто еще не делает бекапы и кто уже делает бекапы.
Posted 19 November 2015 - 22:34
Нет, ошибку выдает:
Fatal error: Call to a member function getName() on a non-object in /var/www/expadmin/data/www/vtaigu.ru/media/zoo/applications/jbuniversal/cart-elements/email/items/tmpl/table_body.php on line 73
<td> <?php if (!$discount->isEmpty()) { echo $order->val($items[$itemKey]->find('elements._value'))->html($this->_getCurrency()); echo '<br />- ' . $discount->html().'<br />'; $discount = $order->getElement('<ELEMENT_ID>', JBCart::CONFIG_MODIFIER_ITEM_PRICE); echo '<br />- ' .$discount->getName(); echo '<br />- ' .$discount->config->get('name'); } ?> <?php echo $config->get('tmpl_price4one', 1) ? $itemHtml['price4one'] : null; ?> </td>
Posted 20 November 2015 - 05:20
Укажите вместо "<ELEMENT_ID>" тот, который указан в элементе
Можно еще сделать дополнительное условие на пустоту
if ($discount = $order->getElement('<ELEMENT_ID>', JBCart::CONFIG_MODIFIER_ITEM_PRICE)) { echo '<br />- ' .$discount->getName(); echo '<br />- ' .$discount->config->get('name'); }
— Есть два типа людей: Кто еще не делает бекапы и кто уже делает бекапы.
Posted 20 November 2015 - 05:41
А нет решения передать <ELEMENT_ID>. Каждую неделю проводятся акции на разные категории продуктов, скидки создаются, удаляются... <ELEMENT_ID> постоянно нужно будет прописывать, это не есть правильно
То есть получается каждый раз нужно будет вводить ID нового элемента?
Edited by myjob495, 20 November 2015 - 05:47.
Posted 20 November 2015 - 05:56
А вообще жутко неудобно когда акции на несколько категорий одновременно и нет возможности в модификаторе выбрать несколько категорий, приходится создавать несколько модификаторов с одинаковыми параметрами на разные категории, хотелось бы иметь множественный выбор категорий, а не селект обычный.
И плохо, что нет возможности указывать скидки по расписанию, или цикличные скидки, повторяемые в определенный день недели, в определенное время.
это так к слову))) но хочу обязательно создать отдельную тему по системе лояльности очень не хватает расширенного функционала в скидках ))))
Edited by myjob495, 20 November 2015 - 05:59.
Posted 20 November 2015 - 07:01
Тогда так
$orderParams = $order->getParams(); $modifiers = $orderParams->get(JBCart::CONFIG_MODIFIER_ITEM_PRICE); if ($modifiers) { foreach ($modifiers as $modifier) { if ($discount = $order->getElement($modifier['identifier'], JBCart::CONFIG_MODIFIER_ITEM_PRICE)) { echo $discount->getName(); } } }
Когда мы делали 220 то ориентировались на простое API, через которое можно легко создавать свои элементы. Те что есть сейчас - это скорее простые примеры. Новые элементы думаем делать после перехода на новые тарифные планы, иначе на них просто не остается времени.
— Есть два типа людей: Кто еще не делает бекапы и кто уже делает бекапы.
Posted 20 November 2015 - 07:19
Parse error: syntax error, unexpected ' ' (T_STRING) in /var/www/expadmin/data/www/vtaigu.ru/media/zoo/applications/jbuniversal/cart-elements/email/items/tmpl/table_body.php on line 75
75 : $modifiers = $orderParams->get(JBCart::CONFIG_MODIFIER_ITEM_PRICE);
<td> <?php if (!$discount->isEmpty()) { echo $order->val($items[$itemKey]->find('elements._value'))->html($this->_getCurrency()); echo '<br />- ' . $discount->html().'<br />'; $orderParams = $order->getParams(); $modifiers = $orderParams->get(JBCart::CONFIG_MODIFIER_ITEM_PRICE); if ($modifiers) { foreach ($modifiers as $modifier) { if ($discount = $order->getElement($modifier['identifier'], JBCart::CONFIG_MODIFIER_ITEM_PRICE)) { echo $discount->getName(); } } } } ?> <?php echo $config->get('tmpl_price4one', 1) ? $itemHtml['price4one'] : null; ?> </td>
Edited by myjob495, 20 November 2015 - 07:20.
Posted 20 November 2015 - 07:27
— Есть два типа людей: Кто еще не делает бекапы и кто уже делает бекапы.
Posted 20 November 2015 - 07:37
Да, я накосячил ошибки сейчас нет, но все-равно не ГУД ))
Выводятся все скидки в каждой позиции.
У меня три скидки с названием "тайга" на разные категории, плюс скидка "новинки", вот их названия и выводятся, что то с циклом не так..
Я так понимаю, у Вас, Денис, одна скидка в тесте принимает участие....
Edited by myjob495, 20 November 2015 - 07:39.
Posted 20 November 2015 - 07:51
Я не вижу вашего сайта, поэтому делаю вслепую.
Это сложное условие, нужно подумать... Пока у меня нет решения.
Проблема в том что после создания заказа у письма нет связи с материалами и прочими данными сайта. Все чем оперируем, это заказ. А в нем хранятся уже какие-то готовые данные, например начальная и конечная сумма, но не полный список всех кто его менял.
— Есть два типа людей: Кто еще не делает бекапы и кто уже делает бекапы.