Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Генерация description


Recommended Posts

if($product_info['meta_description'])
                        {
                            $this->document->setDescription($product_info['meta_description']);
                        }
                        else
                        {
                            $this->document->setDescription('В нашем интернет-магазине спортивного питания можно купить '.$product_info['name'].' '.round($product_info['weight'], 2).' '.$product_info['weight_class_id'].' от компании '.$product_info['manufacturer'].' за минимальную цену и бесплатной доставкой по Воронежу');
                        }

Делаю генерацию description всё вывел, кроме единиц, единицы у нас там кг, гр, мл, капссулы, каплеты, драже, штуки... выводятся они в тпл продукта  с помощью: 

<?php if ($weight_class_id==1) {?><?php echo ' кг'; ?><?php } ?>
<?php if ($weight_class_id==2) {?><?php echo " гр"; ?><?php } ?>
<?php if ($weight_class_id==3) {?><?php echo " мл"; ?><?php } ?>
<?php if ($weight_class_id==4) {?><?php echo " капс"; ?><?php } ?>
<?php if ($weight_class_id==5) {?><?php echo " табл"; ?><?php } ?>
<?php if ($weight_class_id==6) {?><?php echo " шт"; ?><?php } ?>

Нужно всё тоже самое вставить в промежуток 

 

if($product_info['meta_description'])
                        {
                            $this->document->setDescription($product_info['meta_description']);
                        }
                        else
                        {
                            $this->document->setDescription('В нашем интернет-магазине спортивного питания можно купить '.$product_info['name'].' '.round($product_info['weight'], 2).' сюда от компании '.$product_info['manufacturer'].' за минимальную цену и бесплатной доставкой по Воронежу');
                        }
 

Надіслати
Поділитися на інших сайтах


не верно так делать, все нужно делать через "маску" и тогда в поле "дескрипшена" можно писать текст такого вида 

 

... спортивного питания можно купить [NAME] от компании [MANUFACTURER] за минимальную цену и бесплатной доставкой по [COUNTRY]

 

http://php.net/manual/ru/function.sprintf.php

Надіслати
Поділитися на інших сайтах

=======

Не совсем понял сути вопроса. Если есть код, который нужно перенести из вьюшки в контроллер, то та же самая переменная, что есть во вьюшке в виде $weight_class_id, должна быть в контроллере в виде $data['weight_class_id'].

 

Исходный код (во вьюшке):

<?php if ($weight_class_id==1) {?><?php echo ' кг'; ?><?php } ?>

 

Становится (в котнтроллере):

if (1 == $data['weight_class_id']) $weight_class = ' кг';
// и так далее
// хотя, тут наверное пригодился бы switch...

 

А потом

$this->document->setDescription('В нашем интернет-магазине спортивного питания можно купить '.$product_info['name'].' '.round($product_info['weight'], 2). $weight_class .' от компании '.$product_info['manufacturer'].' за минимальную цену и бесплатной доставкой по Воронежу');

 

======
Даже в варианте с масками значение масок все равно нужно откуда-то взять. Поэтому код, который присваивает какое-либо значение в зависимости от weight_class_id остается актуальным. Но если делать с масками, то это предполагает 2 возможных последствия:

  • Либо для каждого товара нужно прописывать дескрипшин с масками, что не автоматизировано — а данный код похож на попытку автоматизации
  • Либо использовать модуль автогенерации мета тегов для OpenCart, чтобы формулировки текста можно было корректировать из админки в случае чего. Но чтобы делать это в 1 месте, а не в каждом товаре. Опять же, подобные модули могут не содержать требуемых в Вашей конкретной ситуации данных, и все равно нужно что-то подпиливать.

 

 

 

  • +1 1
Надіслати
Поділитися на інших сайтах

Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку
×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.