Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Изменить количество вывода символов от определённого числа в кратком описании


Recommended Posts

Добрый день.

Где-то в этих строчках есть условие, что если есть краткое описание, то выводить краткое описание вместо основного, может ли кто-то подсказать что нужно изменить что бы было условие, если краткое описание больше 30 символов, то тогда выводить краткое описание вместо основного ?

  Показати вміст

 

Надіслати
Поділитися на інших сайтах


Интересно конечно)))

Мне дали вот такое решение, в строке: $description = utf8_substr(strip_tags(html_entity_decode($result['description_mini'], ENT_QUOTES, 'UTF-8')), 0);

заменить $result['description_mini'] на str_replace('<p><br></p>', '' $result['description_mini'])

Надіслати
Поділитися на інших сайтах


  В 16.09.2019 в 20:23, sciens сказав:

Интересно конечно)))

Мне дали вот такое решение, в строке: $description = utf8_substr(strip_tags(html_entity_decode($result['description_mini'], ENT_QUOTES, 'UTF-8')), 0);

заменить $result['description_mini'] на str_replace('<p><br></p>', '' $result['description_mini'])

Expand  

ну эта конструкция вырежет указанную подстроку '<p><br></p>' из описания. Первоначальной задачи не решает

Но дело в том, что в этой строке кода и так есть функция strip_tags, которая вырежет вообще все теги. Так что вам подсказали бессмысленную вещь

Змінено користувачем Blast
Надіслати
Поділитися на інших сайтах

  В 16.09.2019 в 20:33, Blast сказав:

ну эта конструкция вырежет указанную подстроку '<p><br></p>' из описания. Первоначальной задачи не решает

Но дело в том, что в этой строке кода и так есть функция strip_tags, которая вырежет вообще все теги.

Expand  

 

Первоначальной задачи она может не решает, но возможно решает возникшую проблему, так как решение проблемы, возможно имеет, несколько вариантов решения:

При загрузке товаров в ОенкартПРО 2.3 попадает какой-то "пробел" выглядит так - <p><br></p> и после него вроде как и идет этот "пробел", а в "родном" файле прописано условие, что если есть краткое описание, то выводить краткое описание вместо основного в карточках товара на странице категорий, модулей, и тд. И вот получается что это условие и выводит этот "пробел", и в результате получается что часть товаров с описанием которое полное, а часть товаров без описания с "чистым полем", так-как этот "пробел" это "пустота". И получается что можно, или задать условие выведения краткого описания от какого-то количества символов, или же при загрузке товаров нужно "вырезать" эту подстроку '<p><br></p>' ну и заодно "вырезать" этот "пробел")))

Надіслати
Поділитися на інших сайтах


  В 19.09.2019 в 17:07, sciens сказав:

 

Первоначальной задачи она может не решает, но возможно решает возникшую проблему, так как решение проблемы, возможно имеет, несколько вариантов решения:

При загрузке товаров в ОенкартПРО 2.3 попадает какой-то "пробел" выглядит так - <p><br></p> и после него вроде как и идет этот "пробел", а в "родном" файле прописано условие, что если есть краткое описание, то выводить краткое описание вместо основного в карточках товара на странице категорий, модулей, и тд. И вот получается что это условие и выводит этот "пробел", и в результате получается что часть товаров с описанием которое полное, а часть товаров без описания с "чистым полем", так-как этот "пробел" это "пустота". И получается что можно, или задать условие выведения краткого описания от какого-то количества символов, или же при загрузке товаров нужно "вырезать" эту подстроку '<p><br></p>' ну и заодно "вырезать" этот "пробел")))

Expand  
                if (utf8_strlen(trim(strip_tags($result['description_mini']))) > 0) {
                    $description = utf8_substr(strip_tags(html_entity_decode($result['description_mini'], ENT_QUOTES, 'UTF-8')), 0);
                } else {
                    $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')) . '..';
                }

можно сразу в if проверить длину с учетом вырезания тегов

Надіслати
Поділитися на інших сайтах

А если вот такое решение ? 

 

if (trim(strip_tags(html_entity_decode($result['description_mini'], ENT_QUOTES, 'UTF-8')))) { 

 

вместо if ($result['description_mini']) {

 

if ($result['description_mini']) {
    $description = utf8_substr(strip_tags(html_entity_decode($result['description_mini'], ENT_QUOTES, 'UTF-8')), 0);
} else {
    $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')) . '..';
}

 

 

Надіслати
Поділитися на інших сайтах


  В 19.09.2019 в 22:59, sciens сказав:

А если вот такое решение ? 

 

if (trim(strip_tags(html_entity_decode($result['description_mini'], ENT_QUOTES, 'UTF-8')))) { 

 

вместо if ($result['description_mini']) {

 

if ($result['description_mini']) {
    $description = utf8_substr(strip_tags(html_entity_decode($result['description_mini'], ENT_QUOTES, 'UTF-8')), 0);
} else {
    $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')) . '..';
}

 

 

Expand  

да, html_entity_decode в условии нужен, иначе не сработает strip_tags

упустил этот момент в своем сообщении

Надіслати
Поділитися на інших сайтах

  В 20.09.2019 в 18:15, sciens сказав:

Тогда как же должно быть прописано условие что бы всё сработало в окончательном варианте, учитывая html_entity_decode ?

Expand  
                if (utf8_strlen(trim(strip_tags(html_entity_decode($result['description_mini'], ENT_QUOTES, 'UTF-8')))) > N) {
                    $description = utf8_substr(strip_tags(html_entity_decode($result['description_mini'], ENT_QUOTES, 'UTF-8')), 0);
                } else {
                    $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')) . '..';
                }

где N - любое число, которым вы хотите ограничить минимальное количество символов в кратком описании. Можете попробовать разные варианты - 0, 15, 30

Надіслати
Поділитися на інших сайтах

Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку
×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.