Jump to content
Sign in to follow this  
SiviS

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

Recommended Posts

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

 

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

Share this post


Link to post
Share on other sites

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

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

Share this post


Link to post
Share on other sites
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)

);
 

Share this post


Link to post
Share on other sites

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

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

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

Edited by Shureg

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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

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

 

Share this post


Link to post
Share on other sites

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

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

Edited by Shureg

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
You are posting as a guest. If you have an account, please sign in.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.