OpenCart < 2.0
Ниже читайте о >= 2.0
Рассмотрим вывод атрибута в OpenCart будь то на главной, в категории или на странице продукта. Покажу вам несколько способов. Например нам надо вывести атрибут – вес.
Сначала советую вам прочесть статью о структуре шаблона OpenCart. Это очень важно, так как все зависит от того, в каком месте вы хотите вывести атрибут. Вы должны понимать, что есть файлы tpl, которые формируют саму страницу, а к каждому такому файлу есть свой контролер (php файл) в котором содержится весь функционал. Сначала вам нужно найти файл, где вы хотите вывести атрибут, далее его контролер и работать с ними.
В контролер:
1 |
'name'=> $result['name'], |
1 |
$this->data['weight'] = $product_info['weight']; |
Теперь в нужном месте, в файле шаблона выводим:
1 |
<?php echo $weight; ?><!--?php echo $weight; ?--> |
Так же можно обрезать до целого числа, либо без лишних нулей.
В контролер:
1 |
'weight' => round($result['weight'], 2), |
Выводим в шаблоне:
1 |
<?php echo $product['weight']; ?><!--?php echo $weight; ?--> |
Или так:
В контролер:
1 |
$this->data['weight'] = round($product_info['weight'], 2); |
Выводим в шаблоне:
1 |
<?php echo $weight; ?> |
Готово, теперь вы сможете вывести атрибут веса практически в любом месте, будь то главная страница, страница категории или продукта.
Еще варианты.
Тестировалось на OpenCart 2.0
Вывод веса на странице продукта
В контролер /public_html/catalog/controller/product/product.php
1 |
$data['product_id'] = (int)$this->request->get['product_id']; |
1 |
$data['weight'] = round($product_info['weight'], 2); |
В шаблон, в нужное место /public_html/catalog/view/theme/default/template/product/product.tpl
1 2 3 4 5 |
<?php if ($weight) { ?> <div class="weight"> <span>Вес:</span> <?php echo $weight; ?>гр. </div> <?php } ?> |
Вывод веса на странице категории
В контролер /public_html/catalog/controller/product/category.php
1 |
'name' => $result['name'], |
1 |
'weight' => round($result['weight'], 2), |
В шаблон, в нужное место /public_html/catalog/view/theme/default/template/product/category.tpl
1 2 3 4 5 |
<?php if ($weight) { ?> <div class="weight"> <span>Вес:</span> <?php echo $weight; ?>гр. </div> <?php } ?> |
Для добавления в какой то модуль
В его контролер /public_html/catalog/controller/module/название_модуля.php
1 |
'name' => $result['name'], |
1 |
'name' => $product_info['name'], |
1 |
'weight' => round($result['weight'], 2), |
1 |
'weight' => round($product_info['weight'], 2), |
В шаблон, в нужное место /public_html/catalog/view/theme/default/template/module/название_модуля.tpl
1 2 3 4 5 |
<?php if($product['weight']>0) { ?> <div class="weight"> <span>Вес:</span> <?php echo $product['weight']; ?>гр. </div> <?php } ?> |
1 2 3 4 5 |
<?php if($product_info['weight']>0) { ?> <div class="weight"> <span>Вес:</span> <?php echo $product_info['weight']; ?>гр. </div> <?php } ?><!--?php if($product_info['weight']>0) { ?--> |
Доброго времени суток,
Получилось вывести значение веса на странице товара, но не пишет грам или килограм, только значение.
Можете помочь?
opencart 2.3.0.2
За ранее благодарю.