Вот код: PHP: <?php if ($description) { ?> <?php if ($this->config->get('mmr_catalog_catego ry_description_spoiled')!=1||(mb_strlen(html_ entity_decode($description, ENT_QUOTES, 'UTF-8'))<=30+$this->config->ge t('mmr_catalog_category_description_spoiler_l imit')&&$this->config->get('mmr_ca talog_category_description_spoiled'))) { ?> <?php echo $description; ?> <?php } else { ?> <?php echo utf8_substr(strip_tags(html_entity_decode($descrip tion, ENT_QUOTES, 'UTF-8')), 0, $this->config->get('mmr_catalog_categor y_description_spoiler_limit'))."<span class='description-expand'>.. </span>"; ?><a class="description-expand" href="javascript:void(0);" .collapse').fadeIn('normal');$(' .description-expand').hide();" title="<?php echo $this->language->get('button_view' ); ?>"><i class="fa fa-caret-down"></i></a><spa n class="collapse"><?php echo utf8_substr(html_entity_decode($description, ENT_QUOTES, 'UTF-8'), $this->config->get('mmr_catalog_categor y_description_spoiler_limit')); ?></span> <?php } ?> <?php } ?> Это вывод текста со ссылкой "подробнее" в категориях, в шаблоне Moneymaker CMS Opencart. gardenrus.ru/plodovye Я его слегка поправил, убрал strip_tags из вывода второй части текста. Теперь он первую часть считает 300 символов без тегов, а при выводе второй части он эти 300 символов считает с тегами. Соответственно текст накладывается друг на друга. Нужно это исправить.
Сделайте мне это развидеть, пожалуйста. --- Добавлено --- В общем, даже приведя этот код в читаемое состояние: PHP: <?php if ($description) { if( $this->config->get('mmr_catalog_category_description_spoiled') != 1 || ( mb_strlen(html_entity_decode($description, ENT_QUOTES, 'UTF-8')) <= 30 + $this->config->get('mmr_catalog_category_description_spoiler_limit') && $this->config->get('mmr_catalog_category_description_spoiled') ) ) { echo $description; } else { echo utf8_substr(strip_tags(html_entity_decode($description, ENT_QUOTES, 'UTF-8')), 0, $this->config->get('mmr_catalog_category_description_spoiler_limit'))."<span class='description-expand'>.. </span>"; ?> <a class="description-expand" href="javascript:void(0);" onclick="$('.category-description.collapse').fadeIn('normal');$(' .description-expand').hide();" title="<?php echo $this->language->get('button_view' ); ?>"> <i class="fa fa-caret-down"></i> </a><span class="collapse"> <?php echo utf8_substr(html_entity_decode($description, ENT_QUOTES, 'UTF-8'), $this->config->get('mmr_catalog_category_description_spoiler_limit')); ?> </span><?php } } - могу сказать, что этого мало для решения задачи. Расшифруй все переменные, которые здесь используются, и дай их значения. Их тут вроде всего четыре.
Выкрутасы - это файлы .tpl в opencart Там такой синтаксис. Писал для тех кто понимает. Решил сам. Сделал так. PHP: <?php $text_1 = utf8_substr(html_entity_decode($description, ENT_QUOTES, 'UTF-8'), 0, $this->config->get('mmr_catalog_category_description_spoiler_limit')); echo strip_tags($text_1)."<span class='description-expand'>.. </span>"; ?><a class="description-expand" href="javascript:void(0);" onclick="$('.category-description .collapse').fadeIn('normal');$('.description-expand').hide();" title="<?php echo $this->language->get('button_view'); ?>"><i class="fa fa-caret-down"></i></a><span class="collapse"><?php echo utf8_substr(html_entity_decode($description, ENT_QUOTES, 'UTF-8'), $this->config->get('mmr_catalog_category_description_spoiler_limit')); ?></span> <?php } ?> <?php } ?> т.е сначала отсчитываем 300 символов с тегами (переменная mmr_catalog_category_description_spoiler_limit =300, потом режем теги.