Помогите, люди добрые! Сайт должен иметь три разных шаблона: главная страница (hometpl), страница меню (menutpl) и текстовая страница (texttpl). Смысл такой, что на главной странице изображены шапка, горизонтальное меню (типа 1., 2.,..., 7.) посередине и футер; на странице меню другое оформление и также горизонтальное меню посередине (типа 2.1., 2.2., ..., 2.5.) общей вложенности доходящей до 5 (всмысле, у подменю 2.3. может быть еще подменю 2.3.1., а у него свое - 2.3.1.1.); и последний шаблон непосредственно отображает все информационное содержимое сайта/ Проблема в том, что не получается отобразить текстовую информацию в шаблоне texttpl. весь содержимое пытается вывестись в menutpl, хотя там и не прописано даже mosMainBody(); Меню вывожу mosLoadModules ( "user6" );... Пробовал использовать вспомогательное меню, в котором отображалось все текстовое наполнение, но тогда нарушается pathway ((( Пробовал делать каждое подменю отдельным меню - результат тот же, текст пытался вывестись в menutpl Нужно именно чтобы текста никакого не было, пока гуляешь по меню, и не было меню (кроме pathway) пока выводится текст, всмысле, статьи... Помогите, люди добрые!!! Уже три недели мучаюсь...
Очень интересный мамбот, но, как я понял, он использует HTML-шаблоны, а мне обязательно нужны PHP... иначе я не знаю как вставить модуль PathWay (который я переделал на BackWay - анологично яваскриптовскому "хистори(-1)", но из любого места поднимает на уровень вверх...) и модуль верхнего меню, про который я не стал говорить выше, т.к. он не играет роли в данной проблеме, но присутствует в шаблонах texttpl и menutpl... В итоге новый шаблон texttpl.html прорисовался только там, где и без ContentTemplater выводился...Задача не решилась. (( Примерный вид сайт можно посмотреть на http://kiid.isanor.com, там работает все как надо только если пройти по следующему пути: "Камский Институт Искусств и Дизайна" -> "Новость 1"... Но дело в том, что статью "Новость 1" я переместил в скрытое меню, которому и присвоил третий шаблон, а в меню, в котором непосредственно и отображается слово "Новость 1" просто стоит ссылка ЮРЛ (( Получилось два больших минуса: сложный путь для добавления статьи для неумеющих пользоваться джумлой и неправильное отображение PathWay.... Не смотрите на схожесть шаблонов, это все наброски... на самом деле шаблоны сильно будут отличаться друг от друга... Нужно что бы по умолчанию, при добавлении одной статьи, автоматом присваивался ей шаблон texttpl. Так и есть, но, как только я присвою эту статью какому-либо меню с шаблоном menutpl, статья тоже начинает отображаться в шаблоне menutpl (пример "Камский Институт Искусств и Дизайна" -> "Новости"), хотя этого и не видно, т.к. текст никуда не выводится. В шаблон texttpl также будет выводится все содержимое других компонентов, таких как "Гостевая книга", "Галерея"... но это делается без проблем, на автомате, т.к. texttpl стоит "по умолчанию" Вопрос о присвоении третьего шаблона texttpl текстовой информации для подменю какого-либо меню остается открытым ...(((
FeaMor, а почитайте FAQ о фишках шаблонов, там есть пункт о определении главной страницы, можно поступить аналогично, только мы будет определять, к примеру, статьи, а т.е. com_content
Получается то, что у меня не получается, это не моя ошибка? Так нельзя сделать обычным назначением шаблонов? Я уже думал об определении контента так же как и в документации об определении главной страницы, но подумал, что надо будет сделать тогда общий шаблон для меню и текста, где будет в зависимости от "есть ли контент или нет" выводиться mosMainBody или mosLoadModules соответственно... Но, на сколько я знаю, контент всегда не пустой, а именно всегда присутствует "Извините, страница не найдена. Пожалуйста, вернитесь на главную страницу сайта." (_NOT_EXIST), а также я не знаю как отследить тогда вывод компонентов... Подскажите что именно вы имели ввиду и, если можно, то дайте, пожалуйста, примерный код
Вы уж меня извините, но я понимаю, что надо написать следующее <?php if (что-то) { mosMainBody(); } else { mosLoadModules ( "user7" ); /** здесь идет вывод меню */ } ?> а вот вместо "что-то" я не знаю что написать думаю "что-то"="$com_content!=_NOT_EXIST", но как именно записать не знаю... я не умею оперировать переменными в php, и спросить не у кого (друг-программист в отпуске...)... не могли бы вы написать, что нужно вставить за вместо "что-то" и будет ли выводится при данном условии компоненты (всмысле содержимое компонентов входит всостав cjv_content или оно ходит в состав функции mosMainBody)?
Как-то так: Код (CODE): <?php $site_hack = ($option == 'com_content')?1:0; if ($site_hack == 1) { mosMainBody(); } else { mosLoadModules ( "user7" ); /** здесь идет вывод меню */ } ?>
Это хороший вариант, но для вывода контента и меню в один и тот же шаблон... А как тогда сделать вложенные пункты меню без контента? Всмысле, я могу делать подменю 2.2.1 для меню 2.2., если оно уже существует, а если существует, значит у него есть какой-нить контент ли ссылка. Можно ли делать пункт меню пустышкой, что бы он был чисто родителем для других пунктов меню и не содержал ничего из контента? Варианты как разделитель, ссылка на индекс.пхп не работают, а если делать пустым объектом содержимого, то включается проверка на контент и соответственно меню блокируется и выводится контент... И второй вопрос, оставшийся открытым, разве нельзя все-таки присвоить подпункту меню (объект содержимого) другой шаблон, если уже для всей ветки назначен шаблон?
Старый вопрос: 1) как сделать вложенные пункты меню пустышками? (пояснения читайте выше) Новый вопрос: 2) почему когда переходишь по подпункту меню "Ссылка - Объект содержимого" в PathWay не отображается сам пункт меню? (Например, если мы находимся на "Главное меню >> Камский Институт Искусств и Дизайн" и перейдем по подпункту "Новости", то попадем в "Главное меню >> Новости", а не в "Главное меню >> Камский Институт Искусств и Дизайн >> Новости", хотя в меню явно объект "Новости" присвоен к объекту "Камский Институт Искусств и Дизайн") ответьте пожалуйста на оба вопроса...
Если не понятен вопрос, то почему бы не переспросить, иначе дать ответ или отказать в ответе... Есть еще один вопрос: как сделать так, что бы по нажатию на подпункт меню, отображалось не само меню, а его подпункты. На пример, при нажатии на 1.3.4 мы получим следующий вид меню: 1.3.4.1, 1.3.4.2, 1.3.4.3, 1.3.4.4, а при нажатии на 1.3.4.2 - получим 1.3.4.2.1, 1.3.4.2.2, 1.3.4.2.3 и т.д.
Я встречалась с такой проблемой ранее и есть решение только для вертикального меню - надо ставить все до класса актив "дисплэй: ноне" а после "дисплэй: блок"
У меня горизонтальное меню, и, каждый раз, должна быть только единственная строчка с линейным меню. Конечный пункт меню выводится в другой шаблон. Пробовал выводить каждый раз новое меню, которое отображалось только для определенных страниц и получилось очень эффективно, но проблема вышла в PathWay - он неправильно начал отображать путь (минуя средние промежутки путей: не 1 -> 1.2 -> 1.2.2 -> 1.2.2.1, а 1 -> 1.2.2.1) если решить проблему с PathWay, то задача будет решена! иначе надо искать другой вариант...