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

Вывод меню в разделах.

  • 14 августа 2013 г.
  • Здравствуйте. Есть такая проблема. Существует несколько разделов на сайте. Иерархия следующая:

    -Раздел1
    -Страница1
    -Страница2
    -Страница3
    -Раздел2
    -Страница1
    -Страница2
    -Страница3

    ну и т.д. не суть важно сколько самих этих разделов. Вот теперь и сам вопрос, как каждому разделу (и его дочкам) выводить разные меню. Создать с десяток меню не проблема, материалы туда отправляются одной галочкой. Проблема в том, что никак не прописать само условие вывода нужного меню. А создавать n-ое количество файлов шаблона, как минимум, нерационально. В будущем таких разделов будет порядка 30-40. Как быть господа?
    • 14 августа 2013 г.
    • Можно запихать шаблонный тег вывода меню в блоки. В в шаблон вставить все блоки, а в блоки настроить на показ на определенных страницах.

      Либо во вьюхе перебрать через switch
      Код

      switch($result[id странички]) {
      case id-такой-то : выводим меню 1
      case id-другой : выводим меню 2
      }
      • 14 августа 2013 г.
      • Допустим во вьюхе. Но как быть, у каждого раздела куча материалов, не перебирать же их все свитчем? Если бы можно было привязаться только к ID родительского материала — цены бы не было.
        • 14 августа 2013 г.
        • get_parents() - выдает массив номеров родителей
          • 14 августа 2013 г.
          • К сожалению, я плохо понимаю, как это все написать во вьюхе. Но фот функция get_parents() должна получить исходные данные текущей страницы. Как ей передать эти данные я, признаться, не знаю, но в голову пришло вот что.
            Если мы находимся в разделе, не заходя в материал, то получается, что ID родителя будет как раз главная страница и меню нужное не выведется. Или я не правильно понял?
            • 14 августа 2013 г.
            • Попробуй с блоками заморочиться для начала.
              • 14 августа 2013 г.
              • Попробую естественно, но хочется разобраться, что бы понимать. Оно как снежный ком, пойму это, дургое само придет, и уже буду не спрашивать, а подсказывать таким как я сейчас
        • 14 августа 2013 г.
        • Еще есть всегда глобальная $this->diafan->parent_id – номер страницы родителя;
          • 14 августа 2013 г.
          • Пришел в голову такой вариант. Написать кастомную функцию с условием. Только не знаю как в функции вывести меню, там же show_modele не проканает. Короче смсыл такой

            Код

            public function show_right_menu()
            {
            if ($this->diafan->cid == 1 || $this->diafan->parent_id == 1)
            {

            }
            }
            • 14 августа 2013 г.
            • а вот внутри условия что писать, что бы вывести меню определенного id?

Новости

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

Форум