Перейти к содержанию

Рекомендуемые сообщения

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Спасибо большое!

  • +1 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.