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

Заменить точки на ссылку

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

Всем привет, не могу разобраться с синтаксисом php, помогите.

В файле /catalog/controller/product/category.php есть строчка отвечающая за вывод короткого описания (228 строка):

'description' => utf8_substr(strip_tags(html_entity_decode($result['description'], ENT_QUOTES, 'UTF-8')), 0, $this->config->get('config_product_description_length')) . '..',

Собственно там меня интересует вывод точек '..' после обрезки короткого описания.

Мне его надо заменить каким то образом на ссылку (на продукт) - что бы эти 2 точки либо другой текст был ссылкой на данный продукт.

 

Может кто то сталкивался - помогите разобраться как правильно это организовать?

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


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

тема выглядит как "разгадал все буквы, но не смог прочитать слово".

Что конкретно у вас не получается?

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


Ссылка на сообщение
Поделиться на другие сайты
4 минуты назад, nikifalex сказал:

тема выглядит как "разгадал все буквы, но не смог прочитать слово".

Что конкретно у вас не получается?

 

Это у него вырезано из catalog/controller/product/category.php

$data['products'][] = array(

'product_id' => $result['product_id'],

'thumb' => $image,

'name' => $result['name'],

'description' => utf8_substr(strip_tags(html_entity_decode($result['description'], ENT_QUOTES, 'UTF-8')), 0, $this->config->get($this->config->get('config_theme') . '_product_description_length')) . '..',

'price' => $price,

'special' => $special,

'tax' => $tax,

'minimum' => $result['minimum'] > 0 ? $result['minimum'] : 1,

'rating' => $result['rating'],

'href' => $this->url->link('product/product', 'path=' . $this->request->get['path'] . '&product_id=' . $result['product_id'] . $url)

);
 

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


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

Откуда вырезано, понятно. ТС, я так понимаю, не знает, как эту самую ссылку сформировать. Подсказываю: в предыдущем сообщении последняя строчка кода.

PS: Но лучше бы вам контроллер вообще почти не трогать . Уберите точки в нем, и все.

А ссылка у вас уже передается в шаблон, прямо там ее и подставляйте

Изменено пользователем Shureg

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


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

Что непонятного я написал? В кратком описании товара при ограничении символов автоматически обрезается текст и вставляется .. (2 точки в конце)

Я нашел файл отвечающий за вывод этих 2 точек. Теперь мне надо 2 точки сделать ссылкой на товар.

Пробовал сделать вот так

'description' => utf8_substr(strip_tags(html_entity_decode($result['description'], ENT_QUOTES, 'UTF-8')), 0, $this->config->get('config_product_description_length')) . '<a href="<?php echo $product['href']; ?>">..</a>',

Не получается. Из за синтаксической ошибки PHP - страница не прогружается.

 

Вопрос в том - как сделать точки не просто текстом а ссылкой? (пример на скрине)

category.jpg

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


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

Нашел решение

'description' => utf8_substr(strip_tags(html_entity_decode($result['description'], ENT_QUOTES, 'UTF-8')), 0, $this->config->get('config_product_description_length')) . '<a href='.$this->url->link('product/product', 'path=' . $this->request->get['path'] . '&product_id=' . $result['product_id'] . $url).'>...еще</a>',

 

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


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

Я вам еще раз говорю, не надо там НИЧЕГО делать, где вы делаете. Максимум - убрать эти две точки. А ссылку вставляйте в файле шаблона.

Ваш вариант не только бессмысленную нагрузку на сервер добавляет, но еще и поперек всех принципов опенакарта.

Изменено пользователем Shureg

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


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

Shureg, не совсем понял где это сделать.. Т.е. убрать просто точки, а саму ссылку добавлять непосредственно из файла шаблона вывода? Или как?

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


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

да, конечно, в шаблоне категории. Там ведь она уже есть, по ней вообще переход и происходит в товар) Просто скопипастить и вставить

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


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

Shureg, все, понял. Спасибо большое за столь важный для меня совет. А еще могли бы вы более подробно пояснить в чем разница где это реализовывать: в контроллере или в шаблоне? Что бы я на будущее знал)

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


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

Получение-сохранение данных - в модели. Обработка, подготовка, разные рассчеты - в контроллере. Непосредственно отображение на сайте - в шаблоне.

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


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

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

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

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

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

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

Войти

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

Войти

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

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

×

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

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