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

Динамические блоки

  • 28 мая 2014 г.
  • Подскажите как работают эти блоки?
    В демо примере в новостях создал еще один дин блок, поле с визуальным редактором появилось, заполнил но не выводится содержимое и название блока. Только один дин блок.
    Вставил на главную <insert name="show_dynamic" module="site" id="2"> Блок не выводится?!?!
    • 28 мая 2014 г.
    • 3 года на этом движке. Но пока эту новинку не применял (да и кроме меня, остальные тоже наверно мало кто успел). Не знаю что подсказать. Слишком новая вещь. Пока обхожусь без нее.
  • 28 мая 2014 г.
  • Вот документация, так себя и позиционирует, мол вот, а как в реалии, для чего полезно и т.д. нет.
    • 28 мая 2014 г.
    • не в том дело. Вы только пришли и сразу начали допрашивать о новинках, которые ввели в бета версии. Мы ж еще реально не использовали.
      А в справке пусть сначала напишут про основные вещи, а потом уже про дополнительные, типа динамических блоков.
      Пока нужны основы.
    • 28 мая 2014 г.
    • Вон, видите же меня, застрял с основными файлами шаблона дизайна? Если с ними не разобраться, то какой смысл думать о динамических блоках?
      А Вы сами уже освоили обычные блоки? Использовали? Поняли как обычный блок выводить в модулях и т.п.? Как в обычных блоках выводить данные модулей?
  • 28 мая 2014 г.
  • Недавно решил потестировать. Создал динамич блок, применил чтобы отображался у всех страниц. Далее когда в админке переходим на редактирование страницы, появляется поле - от этого динамического блока. Если его заполняете и соответственно сохраняете страницу, то информация из данного поля отображается на указанной странице. При этом в шаблоне нужно прописать данный тег.
  • 05 марта 2015 г.
  • Еще бы он div'ом не оборачивался, было бы вообще замечательно.
  • 14 июля 2015 г.
  • Создал блок, прописал тег по инструкции, но ничего не изменилось. Что за зверь такой
    • 14 июля 2015 г.
    • Создали блок. Прикрепили куда?
      Там, где прикрепили, поле появилось?
      • 14 июля 2015 г. , редакция: 14 июля 2015 г.
      • Создал блок с id - 1.
        Ранее добавлял, через шаблон, ни чего.
        Сейчас попробовал на созданной странице, через html редактор <insert name="show_dynamic" module="site" id="1">.
        В редакторе модуль светится, а на странице нет, пробовал "время дату" "строка" и т.д.
        Я в принципе не совсем догоняю жизненную позицию этого модуля, может от того и не выходит )))
        • 14 июля 2015 г.
        • если на странице ничего не показывается, то вы просто не заполнили его информацией скорее всего.
    • 14 июля 2015 г. , редакция: 14 июля 2015 г.
    • а вы во вьюшке его вывели? Посмотрите в дефолтных файлах, там в новостях реализовано.
      Т.е. при создании динамического блока, должно появляться окошко для его редактирования на странице редактирования того модуля, к кторому прикрепили этот блок.
      И для вывода этого блока надо в файл view модуля поставить шаблонный тег. И все получится.
      Динамический блок удобно использовать там, где нужен определенный внешний вид какой-то переменной информации для многих страниц (товары, новости, статьи, объявления).
      Хочу на строительном сайте вывести "условия доставки" в динамический блок, т.к они разные у разных товаров, но все руки не доходят.
  • 08 февраля 2017 г.
  • Это понятно и получается. А вот как разместить этот блок именно там где надо, а не там где он размещается сам
    • 08 февраля 2017 г. , редакция: 08 февраля 2017 г.
    • Разместите код шаблонного тега там где надо и все. Динамический блок сам не по себе нигде не размещается, его специально надо выводить в шаблоне.
    • 08 февраля 2017 г.
    • Выше же написано!
      У меня, например, так выводится:
      Код
      <insert name="show_dynamic" module="site" id="1" template="leftbar">
  • 09 февраля 2017 г.
  • Короче я так понял в шаблоне надо прописать где именно какой блок будет выводится (вверху, внизу, слева, справа)
    А тегом просто его включаешь именно там где он прописан. Правильно я понимаю?
  • 09 февраля 2017 г.

  • Просто что бы я не делал этот блок оказывается тут. А мне к примеру надо слева от карточки товара, блок как пояснение сделать. Где это что надо прописать?
    • 09 февраля 2017 г.
    • Конкретно по карточке товара: shop.view.id.php - это шаблон оформления карточки товара.
      В этом файле и вставляете в разметку шаблонный тег вывода динамического блока туда, где вам необходимо.
  • 30 июля 2017 г.
  • Сергей, добрый день! А сможете подсказать? Мне нужно в карточке товара создать вкладку "Доставка", блок общий для всех товаров, поэтому сложности вроде быть не должно. Я иду в папку custom/../shop.view.id.php и из куска кода понимаю, что где-то здесь нужно вставить вкладку новую, вопрос как правильно это сделать?
    Код
    $tabs = array();

    if (!empty($result['text'])) {
    $tabs['Описание'] = $this->htmleditor($result['text']);
    }

    if(!empty($result['param'])) {
    $tabs['Характеристики'] = $this->get('param', 'shop', array("rows" => $result["param"], "id" => $result["id"]));
    }
    if(!empty($result['comments'])) {
    $tabs['Отзывы'] = $result['comments'];
    }

    if (!empty($tabs)) {
    echo '<div class="tabs">';
    $first = true;
    foreach (array_keys($tabs) as $i => $name) {

    echo '<a href=".tab-' . $i . '" class="tabs__item' . ($first ? ' active' : '') . '">' . $this->diafan->_($name) . '</a>';
    $first = false;
    }
    echo '</div>';


    foreach (array_values($tabs) as $i => $value) {
    echo '<div class="tab-' . $i . ' text">' . $value . '</div>';
    }
    • 30 июля 2017 г.
    • Вообще вкладки обычно делают при помощи js-скрипта. Так что правкой данного кода вы не обойдетесь, нужно еще и скрипт дописывать.
    • 30 июля 2017 г. , редакция: 30 июля 2017 г.
    • Скорее всего как-то так:

      Код
      $tabs['Доставка'] = $this->diafan->_tpl->htmleditor('<insert name="show_dynamic" module="site" id="3">');


      ID блока вашего соответственно.

      После отзывов можно добавить
      • 30 июля 2017 г. , редакция: 30 июля 2017 г.
      • Я вот примерно это так себе и представлял, Александр! Спасибо, опробую и отпишусь!
      • 30 июля 2017 г.
      • Жаль нельзя отвесить еще парочку спасибо за Ваш совет, Александр! Поэтому напишу СПАСИБО.
        P.S. все работает!
  • 03 августа 2017 г. , редакция: 03 августа 2017 г.
  • Всем добрый вечер! Решил я продолжить освоение динамических блоков. Классная штука оказывается! Захотел в карточку товаров под фотографими добавить видео-обзоры. Сделал динамический блок, открыл /custom/my/modules/shop/views/shop.view.id.php и добавил блок в кусок кода:
    Код
    foreach ($result["img"] as $img) {

    echo '<a href="#" data-id='.$img['id'].' class="pics__mini' . ($first ? ' pics__mini_active' : '') . '">
    <img src="' . $img['preview'] . '" alt="" class="pics__mini__img">
    </a>';
    $first = false;
    }

    echo $this->htmleditor('<insert name="show_dynamic" module="site" id="3">');
    }

    echo '</div>
    <!-- |===============| pics end |===============| -->


    Заработало. А вот теперь вопрос.. В карточке товара блок показывает, а вот в общем списке, при нажатии на кнопку подробнее нет. Я понял, что за предпросмотр отвечает другой файл. Методом изучения разных php файлов в той же папке, я нашел shop.view.rows.php, который по-моему должен отвечать за это. Вставлял в нем блок, но он не отображается. Может кто подсказать, где и как его правильно разместить, чтобы блок с видео отображался в предпросмотре товара тоже?

    Вот ссылка на карточку товара, с блоком
    • 03 августа 2017 г. , редакция: 05 августа 2017 г.
    • В списке и блоках выводил таким образом
      Цитата
      echo $this->htmleditor('<insert name="show_dynamic" module="site" id="2" module_name="имя_модуля" element_id="'.$row['id'].'" element_type="element">');

      где
      module_name -имя модуля, у вас shop
      element_type -к чему прикреплён динамической блок. У вас товары. Значит element

      Попробуйте. Должно вывестись
      • 04 августа 2017 г.
      • Александр, сайт что-то падает, ругается на ошибку (syntax error). А подскажите пожалуйста, modul_name и element type, что в них прописывать? В общем разные вариации опробовал, что-то не выходит, может что-то не учел я?
      • 04 августа 2017 г. , редакция: 04 августа 2017 г.
      • Вот куда не вставляю, ошибка подсвечивается, можете тыкнуть в ошибку?
        • 04 августа 2017 г.
        • Кавычку в конце 177 убрать надо. И точку, наверное, тоже, если в строку ничего дописывать не планируется. Я так мыслю.
        • 05 августа 2017 г.
        • В конце убрать точку с кавычкой, и в $row['id'] сделать двойные кавычки.
          • 05 августа 2017 г.
          • Точно. Кстати, я так понимаю - смысл подсветки, в том числе, в том, чтобы такие штуки выявлять.
          • 05 августа 2017 г.
          • Да, ошибка была в этом, Александр мне в ЛС отправил комментарий и все заработало как надо. Спасибо всем!!!
    • 20 августа 2017 г.
    • Станислав доброго дна попробовал по вашему примеру вставить динамический блок. Все получилось но видеоролик становиться активным только когда указатель находится в самом низу картинки а не как положено на значке воспроизвести.Подскажите в чем дело.

Новости

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

Форум