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

DRONGO    2
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'].' за минимальную цену и бесплатной доставкой по Воронежу');
                        }
 

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


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

Есть боле элегантное решение =)

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


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

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

 

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

 

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

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


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

=======

Не совсем понял сути вопроса. Если есть код, который нужно перенести из вьюшки в контроллер, то та же самая переменная, что есть во вьюшке в виде $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 месте, а не в каждом товаре. Опять же, подобные модули могут не содержать требуемых в Вашей конкретной ситуации данных, и все равно нужно что-то подпиливать.

 

 

 

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


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

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

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


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

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

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

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

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

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

Войти

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

Войти


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

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