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

Вывод новостей на главной - как вывести альтернативный вид Rows

  • 30 сентября 2018 г.
  • Захотел клиент на главной странице оригинальный вывод последних новостей

    1) Сделал отдельный
    news.view.show_block_index.php
    2) Вывел его на главной
    <insert name="show_block" module="news" defer="emergence" template="index">
    3) сделал Вьюху вывода новостей
    news.view.rows_block_index.php
    4) Прописываю в файле
    news.view.show_block_index.php
    что хочу выводить товары вьюхой news.view.rows_block_index.php
    прописав в файле
    echo $this->get($result["view_rows_block_index"], 'news', $result);

    получаю ЕРОР в репу:
    Undefined index: view_rows_block_index

    Как правильно вызвать кастомную вьюху списка новостей?
    • 30 сентября 2018 г. , редакция: 30 сентября 2018 г.
    • echo $this->get($result["view_rows"], 'news', $result, "block_index");
      суффикс вьюхи последним параметром передайте
      • 30 сентября 2018 г.
      • Спасибо добрый человек, где то прогулял урок)))
  • 30 сентября 2018 г.
  • Цитата
    echo $this->get($result["view_rows"], 'news', $result, "block_index");суффикс вьюхи последним параметром передайте


    Упорно не выводит мою вьюху списка новостей...
    - можно ссылку на документацию чтоб не напрягать всех?
  • 30 сентября 2018 г.
  • Блин...
    Вывод блока выводиться
    а вместо указанной вьюхи списка "block_index" news.view.rows_block_index.php
    выводит вьюху "block" !!! news.view.rows_block.php
    - откуда она её берёт?
  • 30 сентября 2018 г.
  • Цитата
    echo $this->get($result["view_rows"], 'news', $result, "block_index");
    Проверил на чистой установке - не пашет такой вариант.....
    • 30 сентября 2018 г.
    • Тоже обратил внимание на это, что не работают такие варианты... глянул как раньше на прошлых версиях делал, и заработало! попробуйте так:
      Код
      echo $this->get('rows_index','news',$result);
  • 30 сентября 2018 г. , редакция: 30 сентября 2018 г.
  • PS: Разработка идет на последней сборке из коробки
    В варианте как предлагал Степан - нет сообщения об ошибке...
    • 30 сентября 2018 г.
    • Дмитрий, я как раз тоже на последней сборке делаю! Вот как всё у меня задействовано:

      1. На главной странице в site_start.php вставлен шаблонный тег:
      Код
      <insert name="show_block" module="news" count="10" site_id="161" images="1" template="main">


      2. в файле news.view.show_block_main.php прописано:
      Код
      echo $this->get('rows_block_main','news',$result);


      3. а уже в этот файл является вьюхой для главной страницы - news.view.rows_block_main.php , т.е. в нем оформление для новостей на главной.

      Тоже самое и с товарами делал для каталога.

      Т.е. по сути два файла нужно для вывода на главной странице новостей по шаблону отдельному: news.view.show_block_main.php и news.view.rows_block_main.php

      • 30 сентября 2018 г.
      • Спасибо! Был не внимателен... уже так блин накрутил у себя экспериментов что запутался...

        Всё отлично работает!
        Огромное спасибо!
        • 30 сентября 2018 г.
          • 02 мая 2019 г.
          • мда... не вижу за что спасибо говорить. если так выводить вьюху, то кнопка показать еще не верно работать будет. Эту тему не первый раз под нимали. Разрабы прикидываются дурачками и несут полную ахинею. Специально решил запостить этот каммент, может сейчас, по прошествию больше чем год, этот вопрос все же решится.....
            Напоминаю, изначально тег вывода вьюхи выглидит так:

            echo $this->get($result["view_rows"], 'news', $result);

            И уже огромное число людей столкнулось с тем, что переопределить вьюху нельзя. Лезть в модель и там переопределять эту переменную, что предлагают разрабы, верх идиотизма, так как это не решает вопроса использования в одном шаблоне нескольких вьюх.

            Уважаемые разрабы, попытаюсь донести до вас, что людям надо:
            - есть два блока на странице (не зависимо блок с товарами, либо блок новостей). Пусть это будет два блока с новостями из различных категорий. И надо два разных дизайна вывода этих блоков сделать. В шаблонном теге:

            <insert name="show_block" module="news" count="1" images="1" defer="emergence" defer_title="Новости" template="one">

            Указываем шаблон. Вроде нормально. Только толку от этого мизер. В шаблоне этого блока все равно надо прописывать:

            echo $this->get($result["view_rows"], 'news', $result);

            Да, решение, что выше дали, работает:

            echo $this->get('rows_block_main','news',$result);

            Только кнопка показать еще не будет верно работать, так как она будет все равно брать дефолтный шаб.

            Когда будет решение????

            • 02 мая 2019 г.
            • Я просто переопределяю вывод вида так:
              Код

              // Переопределение вида
              $result["view_rows"] = 'rows_my_name';

              echo $this->get($result["view_rows"], 'news', $result);

              И всё работает.
              • 02 мая 2019 г.
              • Как писали разрабы, данное решение не переопределяет $result["view_rows"] в модели, поэтому, для кнопки показать еще, не будет работать
              • 02 мая 2019 г.
              • Андрей...
                Ранее читая ваш вопрос я помню что вы реализуете в динамическом блоке вывод....
                Попробуйте для начала без него или уже пробовали...?
              • 02 мая 2019 г.
              • Цитата
                Как писали разрабы, данное решение не переопределяет $result["view_rows"] в модели, поэтому, для кнопки показать еще, не будет работать

                - Вы пробовали сами переопределять?
                Вот по ссылке, вывод товаров через first_page, с помощью переопределения, как я описал, выводит всё как надо.
            • 02 мая 2019 г. , редакция: 02 мая 2019 г.
            • Тема то не ваша.. можете и не говорить..
              Суть была в выводе блока с шаблоном и она решена
              • 02 мая 2019 г.
              • не обижайтесь. я не в вашу сторону камень кинул. Не нравится, что уже больше года мусолится данная тема, а разрабы забили на это.
              • 02 мая 2019 г.
              • Ну согласен - ярлык "как бы..." весит на много чем
              • 02 мая 2019 г.
              • Вот как раз данная тема не мусолится. Данная тема решена.
                ТС нашел решение, все довольны.

                А вы, Андрей (shotlandec) (кстати, кто вы такой? у вас ни одной лицухи нет), пульнули свои возмущалки на совершенно постороннюю тему.
            • 02 мая 2019 г.
            • Андрей
              Цитата
              для кнопки показать еще, не будет работать

              - это конечно так. Можно только view.rows сделать нужный, чтобы выводил "Показать ещё" правильно. А остальные выводить уже view.rows_custom_name.
              Но это очень ограничивает, и не лучший вариант.
              Когда писали о внедрении такого решения, Виталий NVGPRO не понимал, почему это не устраивало многих. В итоге - так и сделали.
              В файле "paginator.view.show_more.php" нет возможности кастомизировать вывод "Показать ещё"
  • 02 мая 2019 г.
  • какое имеет отноешение, есть ли на мне лицуха или нет. я работаю с диафаном не первый, и не второй, и не третий год. решения данного вопроса только через фиксы.

Новости

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

Форум