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

Отличие вставки товаров в блоке

  • 23 апреля 2018 г.
  • Раньше в файл shop.view.show_block.php

    была вот такая интеграция с выводом товаро

    Код
    //товары в разделе
    if (!empty($result["rows"]))
    {
    echo '<div class="shop-pane column3">';
    echo $this->get('rows','shop',$result);
    echo '</div>';
    }


    и можно было легко варьировать шаблонами, типа $this->get('rows_block','shop',$result);

    в последней версии уже товары выводятся по другому

    Код
    //товары в разделе
    if(! empty($result["rows"]))
    {
    echo '<div class="shop-pane">';
    echo $this->get($result["view_rows"], 'shop', $result);
    echo '</div>';
    }


    Как в этом случае подключать новый шаблон оформления?
    • 23 апреля 2018 г.
    • Тоже кстати с этим столкнулся.
      Оставил старый кусок кода
      • 23 апреля 2018 г.
      • Это понятно, но ведь не зря новую конструкцию ввели, для скорости или еще для чего
        • 23 апреля 2018 г.
        • а в модельке опять же идет присвоение

          Код
          $this->result["view_rows"] = 'rows';
          • 23 апреля 2018 г.
          • Это получается модельку нужно править будет?
            Такое же присвоение дописывать в нее?
            • 24 апреля 2018 г.
            • да хз, проще использовать старую конструкцию, пока от Диафана рекомендаций не будет :)
              • 24 апреля 2018 г. , редакция: 24 апреля 2018 г.
              • Цитата
                да хз, проще использовать старую конструкцию
                А какая между ними разница?
                Код
                echo echo $this->get($result["view_rows"], 'shop', $result);
                echo $this->get('rows','shop',$result);
                get() никто не переписывал. Нюансы, конечно, появилилсь.
              • 24 апреля 2018 г.
              • Разница лишь в том что константу (например 'rows') заменили на элемент массива, который может содержать это значение ($result["view_rows"] = 'rows'), а может и другое в зависимости от того что в него положили выше по коду.
              • 24 апреля 2018 г. , редакция: 24 апреля 2018 г.
              • Цитата
                А какая между ними разница?
                Код
                echo echo $this->get($result["view_rows"], 'shop', $result);
                echo $this->get('rows','shop',$result);


                разница в том что раньше такая конструкция работала
                Код
                echo $this->get('rows_bla_bla_bla','shop',$result);

                а сейчас как такое вывести?
                Код
                echo $this->get($result["view_rows_bla_bla_bla"], 'shop', $result);
                - не работает
              • 24 апреля 2018 г.
              • а так?
                Код

                $result["view_rows"] = 'view_rows_bla_bla_bla';
                echo $this->get($result["view_rows"], 'shop', $result);
              • 24 апреля 2018 г. , редакция: 24 апреля 2018 г.
              • Цитата
                а сейчас как такое вывести?
                Александр, даже не смешно. В get() передаются параметры. Один из них ранее был строкой (явно), а теперь - значением массива (переменной), в которой передаётся та же самая строка . Кто мешает прописать там строку? Или переназначить, как привёл пример Денис.

                Там другой момент куда более важен - если переназначить таким образом, то кнопка "Показать ещё" выведет порцию товаров следующей страницы пагинатора через шаблон, определённый в модели (т.е. через rows).

                Если бы вас это интересовало, то да - вопрос интересный. А обсуждать (разработчикам) почему в get() параметр в виде переменной вместо строки и как жить дальше теперь - перебор.

              • 24 апреля 2018 г.
              • Ребята из диафана, все ходите вокруг да около...
                Какая то жесть из кода и куча догадок сообщества.)
                Вопрос простой был изначально. Раньше было можно так. - разные rows. Сейчас как тоже самое сделать в рамках нововведения и чтобы все работало? Может быть планируется анонс или подобное?
                Если нет и не планируется, вообще непонятно как так получается. Вышло обновление, а информацию по нему приходится клещами вытаскивать..
              • 25 апреля 2018 г. , редакция: 25 апреля 2018 г.
              • Цитата
                Ребята из диафана, все ходите вокруг да около...
                Лично я смотрю как развивается дискуссия. Что кому понятно, что нет. В данном случае это становится видно как нельзя лучше. Я уже много раз говорил, что верстальщик. Но некоторые моменты (вопросы) даже меня удивили. Никогда бы не подумал, что это нужно пояснять. А выходит, что надо.

                Значит оно будет объяснено в той степени, в которой оно того требует.

                Виталий программист. Он изложил всё доступно и понятно (в его понимании). Что непонятно, можно посмотреть в документации или файл открыть глянуть. Он не сидит сутками на форуме, поэтому не отвечает на каждое сообщение. Было время - прокомментировал.

                Понятно, что оно многим непонятно. Понятно, что это информационный пробел, такой же как с "Отзывами". Это всё закроется, но не прям вот сейчас. Все же в курсе, что и меня и Виталия в штат взяли буквально вчера. Нужно время, чтобы войти в курс дела, решить рабочие моменты и т.д..

                Цитата
                Вопрос простой был изначально. Раньше было можно так
                Это и сейчас можно. Единственная проблема - то, что кнопка "Показать ещё" вернёт при старых переопределениях шаблонов данные в дефолтный шаблон rows.

                Но это только в том случае, если старый сложившийся сайт был обновлён и на нём включили эти галки. Во всех остальных случаях всё по-старому.
                Цитата
                Может быть планируется анонс или подобное?
                Комментарии по этому вопросу будут.
  • 24 апреля 2018 г. , редакция: 24 апреля 2018 г.
  • Цитата
    Как в этом случае подключать новый шаблон оформления?
    Все так же. В моделе модуля идет определение переменной $result["view_rows"]

    Попробую пояснить на примере. Возьмем файл shop.model.php. В этом файле возьмем функцию вывода списка товаров
    Код
    public function list_()
    . В указанной функции определяется представление списка, например,
    Код
    $this->result["view"] = 'list';
    . То есть представление в данном случае определено в файле shop.view.list.php. Далее представление уже элементов в списке, как было ранее, жестко определялось в shop.view.list.php. Теперь же этой жесткости нет. В той же функции
    Код
    public function list_()
    можно изменить как основное представление, так и представление списков исходя из каких-либо условий (т.е. не трогая основное представление). Для этого нужно лишь изменить значение, например,
    Код
    $this->result["view_rows"] = 'rows';
    То есть представление элементов списка определено в shop.view.rows.php.

    Цитата
    Это понятно, но ведь не зря новую конструкцию ввели, для скорости или еще для чего
    Все верно. Такой подход позволяет легко решить множество вопросов. Например, во время отработки ajax в action можно изменить не только основное представление, но и представление списка элементов не плодя полукопии основного представления.

    Как практический пример, то такой подход используется в реализации кнопки "Показать еще". Для этого в настройках модуля активируем соответствующий пункт и на странице списка элементов появиться кнопка "Показать еще". Нажав такую кнопку список элементов на странице дополниться еще одной партией списка, сменив пагинацию и url-адрес без перезагрузки самой страницы.
    • 24 апреля 2018 г.
    • Виталий, вы все подробно расписали. Спасибо.
      А попроще можно?

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

      Код
      $this->result["view_rows"] = 'rows_new';


      После чего создаю новый шаблон и заливаю его на сайт.

      Я правильно рассуждаю?
      • 24 апреля 2018 г.
      • На сколько я понял просто дописываем свой шаблон.
        Код
        echo $this->get($result["view_rows_my_theme"], 'shop', $result);
        • 24 апреля 2018 г.
        • Да, но без добавления доп.строки в модельке он ведь не будет обрабатываться? Или у меня "лыжи не едут"?
          • 24 апреля 2018 г. , редакция: 24 апреля 2018 г.
          • Следствие покажет. Проще всего взять да попробовать.
            • 24 апреля 2018 г.
            • Не совсем проще. Если только лицуху в Тп покляньчить для тестов
              • 24 апреля 2018 г.
              • Цитата
                Такое ощущение, что я что-то неприличное предложил.

                Не, просто в свое время ковырялась. Мне эта кухня так жутко не понравилась: засирание компа + тормоза + половина потом на хосте не пашет + настройки муторные...
                Короче, мне проще прямо на хосте ковыряться. Удобнее.

                П.С. Считайте это моим личным бзиком.
            • 24 апреля 2018 г.
            • После такого сообщения я просто не могу не пригласить вас в секту пользователей правильно локального сервера. А по поводу
              Цитата
              Если только лицуху в Тп покляньчить для тестов
              - подраздел "Привилегии и возможности партнера" соответствующей памятки в помощь. С учётом того, что лицензия распространяется на все поддомены третьего уровня, партнёрской NFS-лицензии Вам вполне хватит на любые задачи.
              • 24 апреля 2018 г.
              • Цитата
                не могу не пригласить вас в секту

                Цитата
                П.С. Считайте это моим личным бзиком.

                А проще: у меня комп ляжет с виртуалкой.

                Цитата
                "Привилегии и возможности партнера"

                Спасибо. Знаю. Но пока язык не поворачивается просить.
              • 24 апреля 2018 г.
              • Цитата
                Спасибо. Знаю. Но пока язык не поворачивается просить.
                Так это же не одолжение, а привилегия. Надо не просить, а требовать.
          • 24 апреля 2018 г.
          • Ребята в настройках модуля админки выбираете другой шаблон, который надо использовать для вывода: списка, главной страницы и элемента. Всё к чему такие сложности. Всё же сделано.

            Не, если вы сами разрабатываете модуль и не вывели выбор шаблона, то да необходимо вот так заморачиваться.
            • 24 апреля 2018 г.
            • Тут дело не в этом

              Если выводятся блоки на главной, в карточке и у всех разное оформление, то для всех не выбрать

              Вариант Степана не работает
              • 24 апреля 2018 г.
              • Ну почему если засетит $result["view_rows_my_theme"] то получится.
                Да для блока надо своё имя шаблона установить. Такого в настройках помоему я не видел.
              • 24 апреля 2018 г.
              • пробовал делать так - не работало

                название вывода списка было сделано ...rows_my_theme.php
            • 24 апреля 2018 г.

            • К примеру есть блоки на главной, блоки в карточке, вывод листинга в 3,4 колонки и тд (разные rows используются). В админке можно выбирать какой шаблон (и соответственно какой rows ему выводить) к какой категории соотнести.

              Как теперь все это дело обрабатывать, я не очень понял. неужели в модель лезть надо..
    • 24 апреля 2018 г.
    • Не совсем понятно, в чём гибкость? Или не понял сути, может быть, но всё же, если мне нужно в одном шаблоне страницы вывести список "list_one", я отправляюсь в модель, и меняю присвоение значения переменной:
      Код

      $this->result["view"] = 'list';

      на
      Код
      $this->result["view"] = 'list_one';

      А на другом шаблоне, я хочу использовать список другого вида "list_two".
      Опять идём в модель, и что делаем?
  • 24 апреля 2018 г. , редакция: 24 апреля 2018 г.
  • Как я понял, можно использовать старую конструкцию в большинстве случаев.

    А вот в случае с кнопкой "показать еще", кнопка перестаёт работать. В общем то это логично исходя из объяснений Виталия NVGPRO выше.

    Что с этим делать в случае если нужны разные шаблоны shop.view.rows (хотя это не такой частый случай, как мне кажется) и одновременно кнопка "показать еще", тоже хотелось бы понять.
    • 24 апреля 2018 г.
    • Не знаю как у вас, Дмитрий, а у меня, примерно в 80% проектов используются разные shop.view.rows, shop.view.list и др.
      Поэтому, весьма актуально пояснение по использованию. Это один момент.
      Второй, это то, что после правки модель улетит в custom, или создавать придётся shop.model.custom.php.
      • 24 апреля 2018 г.
      • Тоже часто использую разные.
        Либо мы чего то не понимаем и нужно ждать официальной версии :)
        Либо что-то как то не очень сделали в итоге, не удобно.
    • 24 апреля 2018 г.
    • Пробовал как только вышло обновление и увидел данные изменения.

      Со старой конструкцией
      Код
      echo $this->get('rows', 'shop', $result);

      Работает кнопка "показать еще"
      • 24 апреля 2018 г.
      • Конечно работает, ведь в сущности $result["view_rows"] и содержит в себе значение rows
    • 24 апреля 2018 г.
    • Цитата
      А вот в случае с кнопкой "показать еще", кнопка перестаёт работать.
      Не перестаёт, а выводит данные в шаблон, который определён в модели, а не во вьюхе.
  • 24 апреля 2018 г.
  • Это что? Весеннее обострение у всех?

    Изменили статический атрибут у функции на динамический (которым теперь можно управлять из модели) - паника на корабле.




    • 24 апреля 2018 г.
    • Никакой паники нет. С чего вы взяли?
      Просто обсуждение уже второй день идет, но до сих пор неясно: как же это использовать.
    • 24 апреля 2018 г.
    • Цитата
      паника на корабле.
      Паника на корабле из-за того, что ранее этим атрибутом можно было управлять напрямую из шаблона. А как теперь этим же атрибутом управлять опять же из шаблона - не пояснили. А модель - штука более нежелательная с т.з. кастомизации, нежели шаблон view.
      • 25 апреля 2018 г. , редакция: 25 апреля 2018 г.
      • Я единственную проблему вижу, что теперь, чтоб узнать какой шаблон для вывода используется, то нужно сделать дополнительное действие. Ну это, конечно, субъективно.
        Видимо, лучшим вариантом будет дополнить дефолтовые шаблоны комментами с указанием шаблона по умолчанию, чтоб не пугать отправками в модель.
        • 25 апреля 2018 г.
        • Да, вот такая конструкция работает.

          Код
          //товары в разделе
          if(! empty($result["rows"]))
          {
          echo '<div class="shop_block_list"><div class="row">';
          $result["view_rows"] = 'rows_block';
          echo $this->get($result["view_rows"], 'shop', $result);
          echo '</div></div>';
          }
          • 25 апреля 2018 г.
          • А что мешает просто написать так?
            Код
            echo $this->get(rows_block, 'shop', $result);

            Ведь в сущности это то же самое, просто в вашем примере вы сначала меняете значение в массиве, а потом его выводите оттуда.
            • 25 апреля 2018 г.
            • Ну Виталий NVGPRO (DIAFAN.CMS) написал же, что значение $result["view_rows"] участвует в работе кнопки "Показать еще" и если значение не будет определено $result["view_rows"] = 'rows_block';, то, при нажатии на кнопку "Показать еще" будет подгружаться не нужный нам шаблон rows_block, а стандартный row и верстка поплывет.
              • 25 апреля 2018 г. , редакция: 25 апреля 2018 г.
              • Либо вот так

                Код
                //товары в разделе
                if(! empty($result["rows"]))
                {
                echo '<div class="shop_block_list"><div class="row">';
                $result["view_rows"] = 'rows_block';
                echo $this->get('rows_block', 'shop', $result);
                echo '</div></div>';
                }
              • 25 апреля 2018 г. , редакция: 25 апреля 2018 г.
              • Цитата
                Либо вот так
                Я уже писал выше - оно работало как и работает. get() принимает стандартный набор параметров. Ему без разницы что туда придёт - строка, переменная $result["view_rows"] или переопределённая чуть выше переменная $result["view_rows"].

                Проблемы у этого способа начнутся, когда вы воспользуетесь кнопкой "Показать ещё". Потому что show_more вернёт данные, используя шаблон rows, который указан в модели, а не тот, который указан во вьюхе.

                Виталий позже даст комментарии на этот счёт.
  • 25 апреля 2018 г. , редакция: 25 апреля 2018 г.
  • - "Что то я очкую обновляццо"
    (С) Наша Раша. ТНТ
  • 27 апреля 2018 г. , редакция: 27 апреля 2018 г.
  • Цитата
    Виталий позже даст комментарии на этот счёт.

    Попробую разъяснить некоторые моменты, по которым возникают вопросы.

    Возьмем в качестве примера модуль "Интернет-магазин", а именно вывод списка товаров. И так, сами данные для списка товаров генерирует public function list_() (modules/shop/shop.model.php). В указанной функции задается значение
    Код
    $this->result["view_rows"] = 'rows';
    Такое значение в последующем будет использовано в представлении (modules/shop/views/shop.view.list.php) следующим образом:
    Код
    //вывод списка товаров
    if(! empty($result["rows"]))
    {
    //вывод сортировки товаров
    if(! empty($result["link_sort"]))
    {
    echo $this->get('sort_block', 'shop', $result);
    }

    echo '<div class="shop-pane">';
    echo $this->get($result["view_rows"], 'shop', $result);
    echo '</div>';
    }
    Так как в моделе модуля было определено, что $this->result["view_rows"] = 'rows';, то выражение $this->get($result["view_rows"], 'shop', $result); будет равно следующему:
    Код
    echo $this->get('rows', 'shop', $result);
    Таким образом обеспечена обратная совместимость с ранее сделанными наработками. И если в своих шаблонах Вы оставите примерно вот такое (как было ранее):
    Код
    //вывод списка товаров
    if(! empty($result["rows"]))
    {
    //вывод сортировки товаров
    if(! empty($result["link_sort"]))
    {
    echo $this->get('sort_block', 'shop', $result);
    }

    echo '<div class="shop-pane">';
    echo $this->get('rows', 'shop', $result);
    echo '</div>';
    }
    То ничего страшного не произойдет. Все будет работать так, как и задумывалось Вами ранее.

    Если же в представлении Вы используете, например, другое указание для вывода элементов в списке:
    Код
    echo $this->get('rows_xxx', 'shop', $result);
    То так же ничего страшного не произойдет за исключением. Например, при отработке нажатия кнопки "Показать еще" будет использован шаблон, указанный в $this->result["view_rows"] = 'rows';, что вызовет расхождения в логике отображения элементов списка.

    Если Вам не требуется функционал кнопки "Показать еще" или иной функционал, завязанный на $this->result["view_rows"], то можно ничего не менять и действовать по старому. Если же требуется, то правильным будет определение такого значения в модели. Например, выдержка из кастомизированного файла shop.model.custom.php:
    Код
    /**
    * Генерирует данные для списка товаров
    *
    * @return void
    */
    after public function list_()
    {
    $this->result["view_rows"] = 'rows_xxx';
    }
    Таким образом можно легко переопределить значение, не переопределяя весь код функции.

    Возможно в последующем, если это будет нужным, данное направление будет усовершенствовано и определение такого значения будет выведено в административную часть сайта. Тогда в моделе не потребуется, что либо дописывать.
    • 27 апреля 2018 г.
    • Повторю свой вопрос: как быть, если необходимо использовать не один вариант изменённого вывода списка - "rows_one", "rows_two" и т. д. ?
      Для этого не подойдёт решение, создавать кастомное вкрапление в функцию модельки.
      Будет ли работать вариант присвоения (переопределения) значения в shop.view.list.php
      Код

      //вывод списка товаров
      if(! empty($result["rows"]))
      {
      //вывод сортировки товаров
      if(! empty($result["link_sort"]))
      {
      echo $this->get('sort_block', 'shop', $result);
      }
      echo '<div class="shop-pane">';
      $result["view_rows"] = 'rows_one';
      echo $this->get($result["view_rows"], 'shop', $result);
      echo '</div>';
      }

      Соответственно, в другом варианте:
      Код

      //вывод списка товаров
      if(! empty($result["rows"]))
      {
      //вывод сортировки товаров
      if(! empty($result["link_sort"]))
      {
      echo $this->get('sort_block', 'shop', $result);
      }
      echo '<div class="shop-pane">';
      $result["view_rows"] = 'rows_two';
      echo $this->get($result["view_rows"], 'shop', $result);
      echo '</div>';
      }
      • 27 апреля 2018 г. , редакция: 27 апреля 2018 г.
      • Цитата
        использовать не один вариант изменённого вывода списка - "rows_one", "rows_two" и т. д. ?

        То есть Вы в одном представлении списка элементов (shop.view.list.php) задействуете разные варианты представлений вывода элементов в списке? Если так, то важно понимать, что те значения, которые Вы присвоите $this->result["view_rows"] в представлении, модель модуля об этом не узнает. Поэтому, например, та же кнопка "Показать еще" будет использовать значение $this->result["view_rows"], которое было определено в модели.

        В самом представлении вывода списка товаров Вы можете использовать как вариант
        Код
        echo $this->get('rows_xxx', 'shop', $result);
        так и вариант
        Код
        $this->result["view_rows"] = 'rows_xxx';
        echo $this->get($this->result["view_rows"], 'shop', $result);
        Разница в таких вариантах в том, что при втором варианте в представление элементов списка придет измененное значение $this->result["view_rows"].

        Если Вы переопределили $this->result["view_rows"] в представлении, то, например, для того, чтобы задействовать функционал кнопки "Показать еще" Вам будет необходимо внести изменения в логику ее action, что тоже очень легко. Или не изменять логику, если не нужен такой функционал.
        • 27 апреля 2018 г.
        • Цитата
          То есть Вы в одном представлении списка элементов (shop.view.list.php) задействуете разные варианты представлений вывода элементов в списке?

          Не совсем это имел в виду, Виталий.Не в одном представлении списка элементов.
          Обычно, для вывода разных вариантов списка, я создаю отдельный шаблон вывода, например, "shop.view.list_one.php", "shop.view.list_two.php". И уже в них, соответственно использую
          Код

          echo $this->get('rows_xxx', 'shop', $result);
          • 27 апреля 2018 г.
          • Так присвойте такие значения в моделе, как я показал чуть ранее в своем сообщении.
            Код
            /**
            * Генерирует данные для списка товаров
            *
            * @return void
            */
            after public function list_()
            {
            $this->result["view_rows"] = 'rows_xxx';
            }
            • 27 апреля 2018 г.
            • На сколько я понимаю, это значение может быть только одно?
          • 27 апреля 2018 г.
          • Владимир правильно спрашивает. Я в большинстве случаев использую разные вьюшки. Особенно когда закладываешь возможности на будущее. К примеру делаем выводы списком в 3 колонки, в 4 колонки, таблицей и тд. Для этого создаем list_1, list_2, list_3 и тд. А в них уже определяем rows. Дальше у клиента есть возможность выбрать из админки любой шаблон для списка, вплоть до выбора для каждой категории.
            Теперь получается вывод жестко привязан к модельке. Я понимаю, что можно иcпользовать старый метод. Но показать еще работать будет неправильно. А так по-моему делать нельзя. Если есть стандартный функционал в коробке, он должен работать всегда. Даже когда по-началу эта функция не используется.
            Собственно вопрос: с новым методом как проделать такой трюк?
            • 27 апреля 2018 г.
            • Как мне видится, решение тут назревает одно, к которому все уже привыкли и которое уже устоялось. Вместо
              Код
              //Кнопка "Показать ещё"
              if(! empty($result["show_more"]))
              {
              echo $result["show_more"];
              }
              в шаблоне нужно выводить шаблонный тег, который примет параметр - название шаблона. Или просто учтёт в каком шаблоне выводится сам.
              • 27 апреля 2018 г.
              • Может быть зарубим этот Показать еще и все?))) Нафига он сдался..)
                Насколько я понял все из-за него. Просто раньше (исключительно на мой взгляд) было очень удобно и многофункционально с rows_ и разными list.
                Теперь я вот в упор не пойму как..
                Если я создам разные list а в них разные rows, так надо идти в модельку и править ее для включения-определения множественных вариаций rows(тут большой вопрос о возможности так делать)

              • 27 апреля 2018 г.
              • Как мне видится, нужно в вышеупомянутой функции list_(), добавить значения по-умолчанию для переменных:
                Код

                public function list_($view_list = 'list', $view_rows = 'rows')
                {
                $this->result["view_list"] = $view_list;
                $this->result["view_rows"] = $view_rows;
                }

                А в самой функции, уже будет возможность переопределения значений, как-то так.
              • 27 апреля 2018 г. , редакция: 27 апреля 2018 г.
              • Цитата
                Может быть зарубим этот Показать еще и все?))) Нафига он сдался..).
                Проще галку в админке не ставить да и всё. Чуть позже будет наглядный пример, либо реализация в админ-панели, которая позволит без дополнительных исправлений реализовывать поддержку работы кнопки "Показать ещё" в разных шаблонах.
            • 27 апреля 2018 г.
            • Цитата
              А так по-моему делать нельзя.

              Сергей (universe), это уж сильная фраза. Не буду переубеждать. Но посыл Ваш понял. Донесу до разработчиков cms, может они примут решение, что данное значение также будет определяться в административной части сайта, как и шаблон list

              PS: различные вариации отображения можно реализовать в одной вьюшки list и одной rows, используя лишь условия вывода.
              • 27 апреля 2018 г.
              • Виталий, "PS: различные вариации отображения можно реализовать в одной вьюшки list и одной rows, используя лишь условия вывода." - если есть варианты с полной автоматизацией через админку (клиент сам впоследствии сможет менять шаблоны и условия, не в коде) - с удовольствием ознакомлюсь.

                "Сергей (universe), это уж сильная фраза. Не буду переубеждать."
                А моя фраза вполне однозначна. Я правда убеджен, что при сдаче проекта клиенту, весь стандартный функционал системы должен работать как задуман. И если в админке есть кнопка включения "показать еще" - то кнопка на фронтенде должна работать.
            • 27 апреля 2018 г. , редакция: 27 апреля 2018 г.
            • Павел, я выше описал что вариант "Проще галку в админке не ставить да и всё." вообще неприемлем и так делать нельзя. Завтра клиент поставит эту галочку, дальше нифига хорошего. Мне бы хотелось, чтобы Diafan был примером в уверенности его работоспособности. Этим диафан и силен (в умелых руках разработчиков). Когда мы что-то включаем, оно не работает, такой негатив сразу на всю систему распространяется. Не надо нам джумлы и прочих ворпрессов..) Проходили.
              Про зарубить этот функционал конечно шутка, но в каждой шутке.. Рубить - так с корнями и админкой))

              А что касается правки модели - ну жесть же.. Нет, разве? В реалиях системы - меньше правок (и кастомных) в моделях - лучше и проще потом.

              Вполне возможно, что новое решение дает много преимуществ. Если ребята сделали так - значит должны быть причины, в ребятах я уверен. Но пока, ознакомившись поверхостно, увидел только проблемы. Может нас тут 3-4 человека, которые list и rows делают множественные...
              • 27 апреля 2018 г.
              • Цитата
                Может нас тут 3-4 человека

                Думаю, что больше.

                Список товаров в категории - это один вид.
                Список товаров в сопутствующих - это другой вид.
                Список товаров на странице поиска товаров - это третий вид.
                И т.д.

                У меня, например, редко где используется один и тот же вывод.
              • 27 апреля 2018 г.
              • Цитата
                Может нас тут 3-4 человека, которые list и rows делают множественные...

                Больше
        • 27 апреля 2018 г. , редакция: 27 апреля 2018 г.
        • Дополню. Чтобы переопределить action для кнопки "Показать еще", достаточно взглянуть на html-код этой кнопки (скриншот прилагается). В поле action будет указано название функции
          Код
          <input type="hidden" name="action" value="list_">
          То есть в данном случае необходимо изменить или добавить, если ее нет, функцию list_. Cms автоматически поймет, что action для кнопки был переопределен.

          Еще в дополнение. В том же html-коде можно обратить внимание на строчку
          Код
          <input type="hidden" name="mode" value="model">
          В поле mode значение model говорит, что будет задействовано поведение, которое определено в моделе модуля. Если Вы добавите ту же функцию в action, то значение mode автоматически измениться на action. Соответственно cms задействует именно Вашу функцию в action.
  • 27 апреля 2018 г. , редакция: 27 апреля 2018 г.
  • "Чует моё сердце, шо мы накануне грандиозного шухера"
    (C) Свадьба в Малиновке....

    - Думаю сделают и оставят так - на сколько терпения хватить (у разработчиков), как с "сопутствующими услугами" вышло, будет Колоться - но все будут продолжать есть колючий кактус (помоему уже им и не пользуется ваапче никто....)

    Пока только читаю и время глянуть что выкатили в обновлении - нет.....

Новости

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