Как осуществить в Joomla полный контроль над выводом различных типов контента?

Тема в разделе "Внешний вид, шаблоны, графика", создана пользователем wanderinglook.com, 26.12.2007.

  1. wanderinglook.com
    Offline

    wanderinglook.com Недавно здесь

    Регистрация:
    15.11.2007
    Сообщения:
    25
    Симпатии:
    0
    При подгонке шаблона Ja Teline я столкнулся с некоторыми как мне кажется непреодолимыми препятствиями. До определенного момента всё шло как будто хорошо, но потом тупик.

    В чём проблема: главная страница в Ja Teline состоит из трёх колонок, при попадании в раздел мы имеем убирание левой колонки и получаем двух-колоночную структуру. Это я могу контролировать в админке путем задания вывода в виде блога. Отлично. Всё как и требуется. Но: при клике на новости с главной страницы мы НЕ попадаем в раздел и следовательно страница НЕ отображается в виде двух-колоночного блога, а остается в рамках трех-колоночной разметки главной страницы. Это категорически не подходит. Требуется чтобы отображение главной страницы было одно, а отображение полной новости было ДРУГОЕ, отличное от главной страницы.

    Вроде бы я могу задать несколько шаблонов для разных страниц? Сверстать что мне нравиться и определить что куда. Как будто да. Но! Привязка шаблонов в Джумле происходит почему-то исключительно к пунктам меню. Я могу определить отдельный шаблон для Главной, отдельный шаблон для Раздела и так далее. А как мне определить отдельный шаблон для вывода полной новости? Никак. Или я не прав?

    Предвижу советы воспользоваться Ja News Portal и подобными компонентами построения новостных порталов: я смотрел их и там настолько всё еще более усложнено и запутано, что для меня этот путь не будет успешным.

    В идеале что бы хотелось: иметь абсолютно жесткие тупые табличные шаблоны, разные для всех страниц сайта. Отдельный шаблон для главной, отдельный шаблон для полной новости, отдельный шаблон для раздела, отдельный шаблон для форума. Мне совершенно не нужно автоматического убирания колонок в зависимости от наличия содержимого: я уверен, что содержимое будет всегда - это преимущество верстки на слоях вообще не требуется. Я хотел бы всё сделать на таблицах. Но как привязать такие шаблоны к разным видам контента если файл index.php всего один?
     
  2.  
  3. Fanamura
    Offline

    Fanamura Доброта

    Регистрация:
    12.03.2007
    Сообщения:
    5 108
    Симпатии:
    159
    Пол:
    Мужской
    Ответ: Как осуществить в Joomla полный контроль над выводом различных типов контента?

    Читаем внимательно FAQ о шаблонах, раздел фишки шаблонов Джумла, по примеру советов, описанных там, можно творить чудеса;)

    да ради бога
     
  4. wanderinglook.com
    Offline

    wanderinglook.com Недавно здесь

    Регистрация:
    15.11.2007
    Сообщения:
    25
    Симпатии:
    0
    Ответ: Как осуществить в Joomla полный контроль над выводом различных типов контента?

    Я всё это читал и несколько раз, повторюсь: привязка шаблонов в Джумле происходит почему-то исключительно к пунктам меню. Я могу определить отдельный шаблон для Главной, отдельный шаблон для Раздела и так далее. А как мне стандартными способами определить отдельный шаблон для вывода полной новости? Никак. Нет такого пункта меню: полная новость. Если я не прав - скажите где именно?


    Пока вижу единственный вариант - это может быть использование ContentTemplater?
     
  5. Fanamura
    Offline

    Fanamura Доброта

    Регистрация:
    12.03.2007
    Сообщения:
    5 108
    Симпатии:
    159
    Пол:
    Мужской
    Ответ: Как осуществить в Joomla полный контроль над выводом различных типов контента?

    Правильно видишь.
    Я как то делал для одного из клиентов фичу... переписал ссылки "на подробнее" и на заголовки не на index.php (стандартно), а на index4.php, где прописал отдельный шаблон. Как конкретно делал уже не помню, но подсказку я тебе дал, может чуть попозже напишу как все сделал. Все работало.
     
  6. Dead Krolik
    Offline

    Dead Krolik специалист

    Регистрация:
    13.04.2007
    Сообщения:
    3 688
    Симпатии:
    101
    Пол:
    Мужской
    Ответ: Как осуществить в Joomla полный контроль над выводом различных типов контента?

    >А как мне стандартными способами определить отдельный шаблон для вывода полной новости?
    В шаблоне это вымучить, вполне стандартный способ. Кое какую конструкцию, типа этой
    if ($option=='com_content' && $task='view') {

    $шаблон = "нужный_шаблон";
    }
     
  7. wanderinglook.com
    Offline

    wanderinglook.com Недавно здесь

    Регистрация:
    15.11.2007
    Сообщения:
    25
    Симпатии:
    0
    Ответ: Как осуществить в Joomla полный контроль над выводом различных типов контента?

    а вот это очень интересно! нельзя ли поподробнее, то есть в заголовок index.php следует поместить дословно такой код:

    Код (CODE):
    1. <?php if ($option=='com_content' && $task='view') {$template = "index2.php";} ?>


    где index2.php - это другой шаблон, который будет выводится при просмотре новости с главной обложки? скажу сразу что я вообще не знаю php :)
     
  8. Dead Krolik
    Offline

    Dead Krolik специалист

    Регистрация:
    13.04.2007
    Сообщения:
    3 688
    Симпатии:
    101
    Пол:
    Мужской
    Ответ: Как осуществить в Joomla полный контроль над выводом различных типов контента?

    Ну не сказал бы что прямо вот так, где-то приблизительно вот так: после строчки

    $cur_template = $mainframe->getTemplate();

    в index.php написать эту самую проверку

    if ($option=='com_content' && $task='view') {

    $cur_template = "имя_шаблона"
    }

    где имя_шаблона - это имя папки с шаблоном в директории /templates, который будет использован для статей.
     
    maximal нравится это.
  9. wanderinglook.com
    Offline

    wanderinglook.com Недавно здесь

    Регистрация:
    15.11.2007
    Сообщения:
    25
    Симпатии:
    0
    Ответ: Как осуществить в Joomla полный контроль над выводом различных типов контента?

    итак целиком кусок head будет выглядеть вот так?

    Код (html):
    1. <head>
    2. <meta http-equiv="Content-Type" content="text/html; <?php echo _ISO; ?>" />
    3. <?php mosShowHead(); ?>
    4.  
    5. <?php if ( $my->id ) { initEditor(); } ?>
    6. <?php if ($option=='com_content' && $task='view') {$cur_template = "/templates/ja_teline"} ?>
    7.  
    8. <meta http-equiv="Content-Type" content="text/html; <?php echo _ISO; ?>" />
    9. <link href="<?php echo $GLOBALS['mosConfig_live_site'];?>/templates/<?php echo $GLOBALS['cur_template']; ?>/css/template_css.css" rel="stylesheet" type="text/css" />
    10. </head>


    я правильно написал выделенный абзацами кусок? нужны слэши и упоминание папки templates? а ковычки вокруг папки двойные или одинарные? а почему не указать на другой файл index2.php в этой же папке шаблона вместо того чтобы указывать на отдельный шаблон? или в Джумле так не делается и один шаблон всегда предполагает только один файл index.php и index2.php в этой же папке быть не может?
     
  10. Dead Krolik
    Offline

    Dead Krolik специалист

    Регистрация:
    13.04.2007
    Сообщения:
    3 688
    Симпатии:
    101
    Пол:
    Мужской
    Ответ: Как осуществить в Joomla полный контроль над выводом различных типов контента?

    Не хеад, а index.php джумлы. Который в корне, я сперва попутал. И все-таки уши надо после компота мыть ;) я же сказал, что "имя_шаблона - это имя папки с шаблоном в директории /templates" - нафик еще добавлять перед ней /templates если уже в ней надо искать имя. Просто ja_teline.
     
    Superchip нравится это.
  11. Superchip
    Offline

    Superchip Недавно здесь

    Регистрация:
    29.05.2006
    Сообщения:
    46
    Симпатии:
    2
    Пол:
    Мужской
    Ответ: Как осуществить в Joomla полный контроль над выводом различных типов контента?

    Спасибо за темку ... мне помогло, у меня два шаблона на сайте!
    Там ошибочка в коде, вот так заработало:

    if ($option=='com_content' && $task='view') {
    ($cur_template = "имя_шаблона");
    }
     
    maximal нравится это.
  12. Offline

    Urbina Недавно здесь

    Регистрация:
    01.10.2008
    Сообщения:
    14
    Симпатии:
    0
    Re: Ответ: Как осуществить в Joomla полный контроль над выводом различных типов контента?

    А у меня в админке нет шаблонов, где их поискать? На хосте! А где именно-там столько всего-уже надоело шариться вслепую
     
  13. infoman
    Offline

    infoman Недавно здесь

    Регистрация:
    28.08.2007
    Сообщения:
    575
    Симпатии:
    12
    Пол:
    Мужской
    в Ja Teline помимо основного шаблона есть мамботы для новостей
    они действуют на ширину картинки коллличество столбцов в категории
    и на вывод в центровые модули шаблона
    к сожалению такой поддержки для разделов я не вижу наверно сегодня буду ковырять ибо картинки изменяют размер только в категории а в блоке секции всё расползается ели картинки разных размеров
    зы
    хотя вот эта надпись говорит о другом
    Resize image, set maximum character for content of blog category, blog section

    зыы ага вот и жучёк:
    if($option = 'com_content' && ($task=='blogsection' || $task=='blogcategory')) {
    $query = "select params from #__menu where id='$Itemid'";
    $database->setQuery($query);
    $mparams = new mosParameters($database->loadResult());
    }
    if(!$mparams) return;

    тоесть если незаданно никаких параметров в ссылке на блог категории или секции то применяются правила бота
    если заданно то ....
     
    Последнее редактирование: 04.12.2008

Поделиться этой страницей

Загрузка...