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

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

Задумал я сделать перенос в заголовке h1 в карте товара, (ну вот необходимо мне две строки) если в админке написать: Кофе в зернах </br> "Коста-рика Терразу", то при сохранении оно добавится в базу как "Кофе в зернах&lt;/br&gt; &quot;Коста-Рика Терразу&quot;" что соответственно выведет "</br> в заголовок как текст. Если напрямую в базу прописать </br> то все отлично работает, ровно до обновления (пересохранения товара), собственно есть ли какой-то вариант это обойти? Отключить замену например (где это происходит) или как-то "экранировать" теги в админке?

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


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

 

Я это находил, но не находил где это все в opencart происходит :)

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


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

для тега H1 нигде не происходит, надо сделать так чтоб происходило в контроллере

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


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

для тега H1 нигде не происходит, надо сделать так чтоб происходило в контроллере

 

Ну как ни странно происходит (перевод из одного символа в другой) хотя ничего подобного в модификаторе (который и создает мне h1) я не заметил...

 

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


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

вот в этом модификаторе найдите и пропишите эту функцию

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


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

вот в этом модификаторе найдите и пропишите эту функцию

 

Черт это немного сложней чем я думал, а подробней подскажите, пожалуйста )

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


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

если я правильно понял, что нужно, то в этом файле: catalog/controller/product/product.php

найди $data['heading_title'] = $product_info['meta_h1']

замени на

$data['heading_title'] = html_entity_decode($product_info['meta_h1']);

должно помочь, перед правкой советую бэкап сделать 

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


Ссылка на сообщение
Поделиться на другие сайты
14 часов назад, glum сказал:

если я правильно понял, что нужно, то в этом файле: catalog/controller/product/product.php

найди $data['heading_title'] = $product_info['meta_h1']

замени на

$data['heading_title'] = html_entity_decode($product_info['meta_h1']);

должно помочь, перед правкой советую бэкап сделать 

 

Спасибо, но мне все же кажется что нужно что-то править в файла админа, чтоб пропускало сохранять в базу теги?

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


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

я же писал, не нужно в h1 сувать html, это может негативно отразиться на сайте

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


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

я же писал, не нужно в h1 сувать html, это может негативно отразиться на сайте

 

Я помню, но вдруг таки существует способ как написать h1 в две строки, и так чтоб за это ничего не было )

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


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

 

Спасибо, но мне все же кажется что нужно что-то править в файла админа, чтоб пропускало сохранять в базу теги?

преобразование символов в html сущности происходит при внесении в бд новых данных, то есть это по умолчанию прописано в файле модели через метод $this->db->escape(). Убирать из модели экранирование не самое лучшее решение 

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

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


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

преобразование символов в html сущности происходит при внесении в бд новых данных, то есть это по умолчанию прописано в файле модели через метод $this->db->escape(). Убирать из модели экранирование не самое лучшее решение 

 

Ну да, мне это уже сообщили, есть другие варианты добиться переноса строки в нужном месте в заголовке товара?

 

3 часа назад, Otvet сказал:

потом расскажете

 

Естественно 

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


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

 

Ну да, мне это уже сообщили, есть другие варианты добиться переноса строки в нужном месте в заголовке товара?

 

да здесь в принципе всего то два варианта либо при внесении данных в бд либо при извлечении данных из бд, лучший вариант при извлечении из бд. а делать это в контроллере или шаблоне решай сам)

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

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


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

я бы выбрал вариант с шаблоном! 

найти эту строку <h1><?php echo $heading_title; ?></h1> и заменить ее на <h1><?php echo  html_entity_decode($heading_title); ?></h1>

  • +1 1

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


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

А чем вообще чревато наличие тега </br> в заголовке h1? SEO?

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


Ссылка на сообщение
Поделиться на другие сайты
В 17.08.2017 в 10:53, Otvet сказал:

потом расскажете

 

Вопрос решен заменой строчки <h1><?php echo $heading_title; ?></h1> на <h1 class="product-title"><?php echo str_replace(' - ', '<br />', $heading_title); ?></h1> (при заполнении заголовка в админке, в месте где необходим перенос ставится " - ".

 

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

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


Ссылка на сообщение
Поделиться на другие сайты
Гость
Эта тема закрыта для публикации ответов.

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

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

×

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

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