Вторая цена в Simpla CMS

На базе Simpla CMS делаю каталог объектов. Возникла необходимость вывести две цены, например, за час и за смену. Реализация:

  1. Делаем SQL запрос в таблицу s_variants:
ALTER TABLE `s_variants` ADD `price2` TEXT NOT NULL AFTER `price`;
  1. Обновим запрос в /api/Variants.php в двух местах:
$query = $this->db->placehold("SELECT v.id, v.product_id , v.price, v.price2, NULLIF(v.compare_price, 0) as compare_price, v.sku, IFNULL(v.stock, ?) as stock, (v.stock IS NULL) as infinity, v.name, v.attachment, v.position
...
  1. Чтобы вторая цена выводилась в админке в общем списке товаров, добавим в /simpla/design/default/products.tpl ~80 строка:
<input class="price" type="text" name="price2[{$variant->id}]" value="{$variant->price2}" />{$currency->sign}
  1. Чтобы можно было редактировать цену в карточке объекта, добавим ~585 строчка:
<li class="variant_price">     <input name="variants[price2][]"         type="text"   value="{$variant->price2|escape}" /></li>
  1. Чтобы вывести в фронтэнде:
{if $v->price2 > 0}{$v->price2|convert} {$currency->sign}

Готово.

Поделиться
Отправить
Запинить
2018   simplacms
Популярное