SiviS

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

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

SiviS    0

Всем привет, не могу разобраться с синтаксисом 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 точки либо другой текст был ссылкой на данный продукт.

 

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

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


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

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

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

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


Ссылка на сообщение
Поделиться на другие сайты
Eldaeron    72
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)

);
 

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


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

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

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

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

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

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


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

Что непонятного я написал? В кратком описании товара при ограничении символов автоматически обрезается текст и вставляется .. (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

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


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

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

'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    127

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

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

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

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


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

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

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


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

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

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


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

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

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


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

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

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


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

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

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

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

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

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

Войти

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

Войти


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

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