Вывод рекомендуемых товаров на странице товара
25
ноя
2015
В десятом видео уроке по разработке интернет магазина на MODX Revolution мы рассмотрим Вывод рекомендуемых товаров на странице товара
Смотрите также:
Комментарии ()
Услуги по MODX Revolution
Посмотреть все услуги
Оптимизация сайта
Подробнее & Заказать
Создание сайта на MODX Revolution
Подробнее & Заказать
Перенос сайта на MODX Revolution
Подробнее & Заказать
Тивихи везде перечислил, или это недоработка Shopkeeper ??
Тоже самое в чанках для похожих товаров проверьте.
— В вашем варианте ресурс перестает быть элементом класса modResource, и видимо Шопкипер не может найти его таблицу в базе.
---
$parchase['price'] = ($parchase['price'] == 0)? $this->modx->getObject('modResource',$parchase['id'])->getTVValue('price'): $parchase['price'];
в метод getTotal() в файле
/core/components/shopkeeper3/model/shopkeeper.class.php
после начала перебора массива $this->data, т.е. ее надо вставить сразу после строки
foreach( $this->data as $parchase ){
эта строка решает только проблему с обновлением общей цены price_total
Чтобы при оформлении заказа в таблице корзины отображалась цена нужно создать:
1) сниппет (у меня он называется далее getPrice)
<?php
return $modx->getObject('modResource',array('pagetitle' => $modx->getOption('nameResource', $scriptProperties) ))->getTVValue('price');
2) в чанке отрисовки оформления заказа (тот, что по умолчанию shopCartRow.tpl) вместо строки
[[+price]] [[+currency]]
нужно сделать строку
[[+price:ne=`0`:then=`[[+price]]`:else=`[[!getPrice?&nameResource=`[[+name]]`]]`]] [[+currency]]
<?php
return $modx->getObject('modResource', $modx->getOption('idResource', $scriptProperties) )->getTVValue('price');
и строку соответственно так:
[[+price:ne=`0`:then=`[[+price]]`:else=`[[!getPrice?&idResource=`[[+id]]`]]`]] [[+currency]]
вместо строки
if( !empty( $this->purchase->class_key ) && in_array( $this->purchase->class_key, array( 'modResource', 'modDocument' ) ) ){
(она вторая после начала метода)
надо, чтоб было
if( !empty( $this->purchase->class_key ) && in_array( $this->purchase->class_key, array( 'modResource', 'modDocument', 'SelectionContainer' ) ) ){