Вход • Регистрация

Как вывести анонос в самой категории

  • 17 декабря 2013 г.
  • Полный текст категории магазина выводится нормально

    Код
    if (!empty($result["text"]))
    {

    $this->htmleditor($result['text']);

    }


    но надо еще вывести анонс. чтобы было 2 блока

    Код
    if (!empty($result["anons"]))
    {

    $this->htmleditor($result['anons']);

    }


    а так не работает
    • 17 декабря 2013 г.
    • Скорее всего переменная пуста. Проверьте это вставив в начало модуля print_r($result);

      Либо перед выводом анонса посмотрите что в переменно - вот так:
      Код
      print_r($result["anons"]);
      if (!empty($result["anons"]))
      {

      $this->htmleditor($result['anons']);

      }


      Если пуста, а в БД есть информация - значит в модели не заполняется нужной инфо из БД. Надо там вставить выборку данных из базы
  • 17 декабря 2013 г.
  • Где именно нужно вывести анонс?
    В каком месте?
    В полном описании новости?
    Какая редакция CMS
  • 17 декабря 2013 г. , редакция: 17 декабря 2013 г.
  • Буквально в последнем проекте это реализовывал вот таким образом
    Код


    //краткое описание категории
    if (!empty($result["anons"]))
    {
    $this->htmleditor($result['anons'], true);
    }

    //вывод описания текущей категории
    if (!empty($result["text"]))
    {
    $this->htmleditor($result['text'], true);
    }

    • 23 декабря 2013 г.
    • Код
      if (!empty($result["anons"]))
      {
      $this->htmleditor($result['anons'], true);
      }


      почему у меня так не выводит?
      • 23 декабря 2013 г.
      • Может анонс не заполнен. Может кеш браузера и ctrl+F5 надо. А может кеш цмски не отключили в настройках.
  • 19 декабря 2013 г.
  • А в чем смысл доставать из массива $result методом $this->htmleditor ?
    • 19 декабря 2013 г.
    • аналогично названию, теги работают diafan-овские, в принципе даже тег, он один пока что, insert
      • 19 декабря 2013 г.
      • Ну это я знаю что можно $this->htmleditor(insert итп
        Но чем правильнее $this->htmleditor($result['text'], true); чем echo ($result['text']) ?
        • 19 декабря 2013 г.
        • $this->htmleditor
          просканирует и заставит работать встроенные модульные блоки типа <insert name="show_block" module="faq"> если они вставлены не в шаблон а в текстовое поле Анонс или Описание.
          • 19 декабря 2013 г.
          • Denis (Drachoon), интересное описание ещё чуть-чуть добавить и будет фильм фантастический, робот заставляет работать модули )))
            Андрей (R4W), звучит это всё как я понимаю, но я не понимаю ))

            заменяет шаблонные теги, в тексте. и ссылки
            А параметр true = означает использование перелинковки. (по умолчанию false)

            =========
            Ну а правильность исходит из задач.
            как минимум 2, быстродействие или расширяемость.

            т.е. если у вас в тексте 100% нету тегов диафановских (сейчас это только <insert...>), то правильнее echo... (т.к. нету вызова дополнительной функции htmleditor)
            например, вы выводите дополнительно поле = Автор, понятно что в строке, вам не нужно искать там тег <insert>
            • 20 декабря 2013 г.
            • Да не, я все догнал, просто тему с конца читал :)
            • 20 декабря 2013 г.
            • Ну в целом мысль понятна - наперёд непонять будут использованы или не будут <insert...> если сделать echo то потом может возникнуть необходимость переписать их на $this->htmleditor
              • 20 декабря 2013 г.
              • Инсерты через эхо не отработают. Инфа 100%
  • 24 декабря 2013 г.
  • А как вывести и анонс и полный текст в модуле статьи в список статей. В шаблон clauses.view.list.php добавляю: $this->htmleditor($result['text'], true); но ничего не выводиться. Я так понимаю в clauses.model.php - эти данные для списка статей не получаются? И надо там что то добавить.

    • 25 декабря 2013 г.
    • ТП мне ответила, что надо сделать вот так

      В вашей версии diafan.CMS поле anons не запрашивается в SQL запросе. Нужно добавить в функции list_category_query()

      $result = DB::query("SELECT id, [name], [text], [anons], timeedit,...
  • 26 декабря 2015 г.
  • всем привет, подскажите как вывести анонс категории все что выше описано не помогло ( в категори анонс написан )

    на главной странице вывожу и категорию и его стать таким образом <insert name="show_block" module="clauses" cat_id="1" images="1" count="4" template="homepage">

    шаблон homepage это клон шаблона clauses.view.show_block.php тут я и пытаюсь вывести анонс категории, но все тчетно
    • 26 декабря 2015 г.
    • Во вьюху в самой категории анонс не передается отдельно. Только если галка есть "Добавлять анонс к описанию", и тогда он к тексту добавляется, в модельке, но все равно одна переменная, обычный текст
      • 26 декабря 2015 г.
      • Надо её в модельке в отдельную переменную засунуть
        • 26 декабря 2015 г.
        • http://i.imgur.com/xnPZ1vj.png стоит но не выводит (

          вывожу так

          if (!empty($result["text"]))
          {

          $this->htmleditor($result['text']);

          }

          и глухо
          • 26 декабря 2015 г.
          • Кеш отключали?
            Точно та страница, та категория? Тексты заполнены?
            Ну кеш чаще всего, конечно
            • 26 декабря 2015 г.
            • да, единственное я ни чего не вносил в файл clauses.model.php так как незнаю точно как и что туда внести
              • 27 декабря 2015 г.
              • А-а, о статьях речь??? Я-то думал речь про категории в магазине!
                В статьях анонс на страницу категории не передается, откройте /modules/clauses/clauses.model.php, там в list_category() готовятся данные для вьюхи:
                Код
                $this->result["text"] = $this->diafan->_useradmin->get($this->result["text"], 'text', $this->diafan->_route->cat, 'clauses_category', _LANG);
                if($this->result["anons_plus"])
                {
                $this->result["text"] = $this->result["anons"].$this->result["text"];
                }

                Всё, только $this->result["text"] идет в шаблон. Сформируйте подобным образом и $this->result["anons"] и выводите во вьюхе
  • 27 декабря 2015 г. , редакция: 27 декабря 2015 г.
  • данный код уже есть
    Код
    $this->result["text"] = $this->diafan->_useradmin->get($this->result["text"], 'text', $this->diafan->_route->cat, 'clauses_category', _LANG);
    if($this->result["anons_plus"])
    {
    $this->result["text"] = $this->result["anons"].$this->result["text"];
    }

    в list_category()

    еще раз уточню что нужно, http://i.imgur.com/eE2kAsl.png вывести анонс категории у статей.
    • 27 декабря 2015 г.
    • Да код-то понятно, я не пойму, почему галка "добавлять анонс" у Вас не работает. Сейчас сходил в демо-версию, натыкал, всё вывелось: http://dl3.joxi.net/drive/0009/0269/643341/151227/d05fe74c03.jpg
      Может правили что-то?
      Если дадите доступ в админку временный, я бы посмотрел

Новости

  • 18 июня
  • В сборке большое обновление demo-шаблона, дополнительная защита от спама, улучшение YML-импорта и еще много важного и интересного.
  • 24 апреля
  • В новой сборке совершили революцию в структурировании кастомизированной информации в шаблонах, добавили авторегистрацию пользователей, усовершенствовали защиту от спама, актуализировали накопительную скидку, а также улучшили производительность и стабильность работы системы.
  • 12 января
  • После выхода сборки 7.1 мы выпустили уже три патча, в каждом из которых улучшаем административную часть сайта. Сборка DIAFAN.CMS 7.1.3 уже доступна к установке. 

Форум