За последние 24 часа нас посетили 18293 программиста и 1607 роботов. Сейчас ищут 1626 программистов ...

Поправить код PHP

Тема в разделе "Сделайте за меня", создана пользователем seogardenmaster, 12 апр 2016.

  1. seogardenmaster

    seogardenmaster Новичок

    С нами с:
    12 апр 2016
    Сообщения:
    2
    Симпатии:
    0
    Вот код:
    PHP:
    1. <?php if ($description) { ?>
    2.                 <?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'))) { ?>
    3.                 <?php echo $description; ?>
    4.                 <?php } else { ?>
    5.                 <?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>
    6.                 <?php } ?>
    7.               <?php } ?>
    Это вывод текста со ссылкой "подробнее" в категориях, в шаблоне Moneymaker CMS Opencart. gardenrus.ru/plodovye Я его слегка поправил, убрал strip_tags из вывода второй части текста. Теперь он первую часть считает 300 символов без тегов, а при выводе второй части он эти 300 символов считает с тегами. Соответственно текст накладывается друг на друга. Нужно это исправить.
     
    #1 seogardenmaster, 12 апр 2016
    Последнее редактирование модератором: 12 апр 2016
  2. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
    Я ничего не понял
     
  3. Basilio

    Basilio Случайный прохожий

    С нами с:
    6 апр 2016
    Сообщения:
    191
    Симпатии:
    54
    Сделайте мне это развидеть, пожалуйста.
    --- Добавлено ---
    В общем, даже приведя этот код в читаемое состояние:
    PHP:
    1. <?php
    2. if ($description) {
    3.     if( $this->config->get('mmr_catalog_category_description_spoiled') != 1 ||
    4.         (
    5.             mb_strlen(html_entity_decode($description, ENT_QUOTES, 'UTF-8')) <= 30 +
    6.             $this->config->get('mmr_catalog_category_description_spoiler_limit') &&
    7.             $this->config->get('mmr_catalog_category_description_spoiled')
    8.         )
    9.       )
    10.     {
    11.         echo $description;
    12.     } else {
    13.         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>";
    14. ?>
    15. <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' ); ?>">
    16. <i class="fa fa-caret-down"></i>
    17. </a><span class="collapse">
    18.     <?php echo utf8_substr(html_entity_decode($description, ENT_QUOTES, 'UTF-8'), $this->config->get('mmr_catalog_category_description_spoiler_limit')); ?>
    19. </span><?php
    20.     }
    21. }
    - могу сказать, что этого мало для решения задачи. Расшифруй все переменные, которые здесь используются, и дай их значения. Их тут вроде всего четыре.
     
  4. seogardenmaster

    seogardenmaster Новичок

    С нами с:
    12 апр 2016
    Сообщения:
    2
    Симпатии:
    0
    Выкрутасы - это файлы .tpl в opencart Там такой синтаксис. Писал для тех кто понимает. Решил сам. Сделал так.

    PHP:
    1. <?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>
    2.                 <?php } ?>
    3.               <?php } ?>
    т.е сначала отсчитываем 300 символов с тегами (переменная mmr_catalog_category_description_spoiler_limit =300;), потом режем теги.
     
    #4 seogardenmaster, 13 апр 2016
    Последнее редактирование модератором: 13 апр 2016