Jump to content


Photo
- - - - -

Письмо с заказом + доп параметры


Best Answer SmetDenis , 18 November 2015 - 07:30

Попробуйте новый вариант Go to the full post


  • This topic is locked This topic is locked
24 replies to this topic

#11 SmetDenis

SmetDenis
  • Administrators
  • User rate: 139.4
  • posts: 16232
  • topics: 200

Posted 19 November 2015 - 14:47

Попробуйте так

$discount = $order->getElement('<ELEMENT_ID>', JBCart::CONFIG_MODIFIER_ITEM_PRICE);
echo $discount->getName();
echo $discount->config->get('name');

  • 0
JBZoo v4.0 и новый чудный мир Open Source GPL
Отключайте проверку лицензий как можно скорее!



— Есть два типа людей: Кто еще не делает бекапы и кто уже делает бекапы.


#12 myjob495

myjob495
  • Topic Starter
  • JBZoo User (rus)
  • User rate: 2.8
  • posts: 215
  • topics: 35

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>


  • 0

#13 SmetDenis

SmetDenis
  • Administrators
  • User rate: 139.4
  • posts: 16232
  • topics: 200

Posted 20 November 2015 - 05:20

Укажите вместо "<ELEMENT_ID>" тот, который указан в элементе

kuyl_200x0.png

 

Можно еще сделать дополнительное условие на пустоту

if ($discount = $order->getElement('<ELEMENT_ID>', JBCart::CONFIG_MODIFIER_ITEM_PRICE)) {
    echo '<br />- ' .$discount->getName();
    echo '<br />- ' .$discount->config->get('name');
}

  • 0
JBZoo v4.0 и новый чудный мир Open Source GPL
Отключайте проверку лицензий как можно скорее!



— Есть два типа людей: Кто еще не делает бекапы и кто уже делает бекапы.


#14 myjob495

myjob495
  • Topic Starter
  • JBZoo User (rus)
  • User rate: 2.8
  • posts: 215
  • topics: 35

Posted 20 November 2015 - 05:41

А нет решения передать <ELEMENT_ID>. Каждую неделю проводятся акции на разные категории продуктов, скидки создаются, удаляются... <ELEMENT_ID> постоянно нужно будет прописывать, это не есть правильно :)

 

То есть получается каждый раз нужно будет вводить ID нового элемента?


Edited by myjob495, 20 November 2015 - 05:47.

  • 0

#15 myjob495

myjob495
  • Topic Starter
  • JBZoo User (rus)
  • User rate: 2.8
  • posts: 215
  • topics: 35

Posted 20 November 2015 - 05:56

А вообще жутко неудобно когда акции на несколько категорий одновременно и нет возможности в модификаторе выбрать несколько категорий, приходится создавать несколько модификаторов с одинаковыми параметрами на разные категории, хотелось бы иметь множественный выбор категорий, а не селект обычный.

 

И плохо, что нет возможности указывать скидки по расписанию, или цикличные скидки, повторяемые в определенный день недели, в определенное время.

 

это так к слову))) но хочу обязательно создать отдельную тему по системе лояльности :) очень не хватает расширенного функционала в скидках ))))


Edited by myjob495, 20 November 2015 - 05:59.

  • 1

#16 SmetDenis

SmetDenis
  • Administrators
  • User rate: 139.4
  • posts: 16232
  • topics: 200

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, через которое можно легко создавать свои элементы. Те что есть сейчас - это скорее простые примеры. Новые элементы думаем делать после перехода на новые тарифные планы, иначе на них просто не остается времени.


  • 0
JBZoo v4.0 и новый чудный мир Open Source GPL
Отключайте проверку лицензий как можно скорее!



— Есть два типа людей: Кто еще не делает бекапы и кто уже делает бекапы.


#17 myjob495

myjob495
  • Topic Starter
  • JBZoo User (rus)
  • User rate: 2.8
  • posts: 215
  • topics: 35

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.

  • 0

#18 SmetDenis

SmetDenis
  • Administrators
  • User rate: 139.4
  • posts: 16232
  • topics: 200

Posted 20 November 2015 - 07:27

У меня ошибка не повторяется.

Скорее всего вы не правильно вставили код.

 

j1xu_200x0.png

Attached Files


  • 0
JBZoo v4.0 и новый чудный мир Open Source GPL
Отключайте проверку лицензий как можно скорее!



— Есть два типа людей: Кто еще не делает бекапы и кто уже делает бекапы.


#19 myjob495

myjob495
  • Topic Starter
  • JBZoo User (rus)
  • User rate: 2.8
  • posts: 215
  • topics: 35

Posted 20 November 2015 - 07:37

Да, я накосячил ошибки сейчас нет, но все-равно не ГУД ))

 

Выводятся все скидки в каждой позиции.

 

У меня три скидки с названием "тайга" на разные категории, плюс скидка "новинки", вот их названия и выводятся, что то с циклом не так..

 

Я так понимаю, у Вас, Денис, одна скидка в тесте принимает участие....

 

123.jpg


Edited by myjob495, 20 November 2015 - 07:39.

  • 0

#20 SmetDenis

SmetDenis
  • Administrators
  • User rate: 139.4
  • posts: 16232
  • topics: 200

Posted 20 November 2015 - 07:51

Я не вижу вашего сайта, поэтому делаю вслепую.

 

Это сложное условие, нужно подумать... Пока у меня нет решения.

Проблема в том что после создания заказа у письма нет связи с материалами и прочими данными сайта. Все чем оперируем, это заказ. А в нем хранятся уже какие-то готовые данные, например начальная и конечная сумма, но не полный список всех кто его менял.


  • 0
JBZoo v4.0 и новый чудный мир Open Source GPL
Отключайте проверку лицензий как можно скорее!



— Есть два типа людей: Кто еще не делает бекапы и кто уже делает бекапы.





Click to return to top of page in style!