Уникальный темплейт для артикла из каждой категории

Тема в разделе "ExpressionEngine", создана пользователем alexo, 24 май 2008.

Статус темы:
Закрыта.
  1. alexo

    alexo

    Регистр.:
    28 май 2006
    Сообщения:
    311
    Симпатии:
    5
    У меня такая проблема
    сайт скажем про машин: есть 4 в****га: Мерс, Ауди, Вольво, БМВ и свыше 100 категории

    соответственно для каждого в****га свои теплейты.
    К примеру теплейт для статьи у меня такой:
    Наверху шапка,
    внизу футер,
    слева артикл,
    справа наверху меня для каждого в****га свой, потом меню для всего сайта /скажеь контакты, about us, list of weblogs, etc/

    в отличии от артикла, всё остальное у меня статик. т.е. меня у меня статик файл, который я сделал ембед в артикл теплейт /назовем этот теплейт (article.php)/

    теперь чего я хочу сделать. хочется для каждой категории /или хотя бы для 10-20 из них иметь/ свое уникальное меня.

    т.е. на данный момент у меня в****г МЕРС имеет меню про Мерси. А мне хочется, чтобы перед тем как пошло меню "МЕРС", скажем был меню "А серии".
    т.е. если статья в в****ге МЕРС, категории "А серии", то тогда сначало отобрази "a_seria_menu.php" template, and only after this "merc_menu.php" template.

    так как сайт уже старии и статей больше 35-40т, то вариант переделать сайт не годится (скажем можно было категории переделать в в****г и сделать свои теплеты)
    во первых в данном случае переделать 35т статей не реально, во вторый не хочу, чтобы УРЛ артиклов поменялся в SEO целях.

    После долгих раздумии в голову пришло такая идея

    с помощью ПХП смотреть в какой категории артикл, и соответсвенно вызвать теплейт для него. (конечно можно было открыть новый custom_field и проверить через него, но в этом случае придется переделать старые артикли и рассортировать каждый из них, а для новых артиклов заполнять свой custom_field).

    Поэтому остоновился на идее .. check via {category_name}

    for example such code

    Код:
    {exp:weblog:entries weblog="{master_weblog_name}" limit="1" disable="title|custom_fields|member_data|pagination|trackbacks" require_entry="yes"}{categories}{if category_name == "A seria" OR category_name == "B seria"}{embed="merc/a_seria_menu"}{embed="merc/merc_menu"}{if:else}{embed="merc/merc_menu"}{/if}{/categories}{/exp:weblog:entries}
    
    
    в принципе этот код работает, но имеет свои недостатки.
    1. если скажет мне нужно в каждом в****га сделать 10 алтернативных меню для каждой категории (скорее всего 10-15 алтернативных меню это будет мой максимум) то это определенная нагрузка (и скорее всего не малая)

    2. думаю, что есть и другии ... но от того, что голова болит, пока не выжу :)

    ----------
    Теперь вопрос.
    что я хочу сделать, вы уже в курсе.
    моей тупой головой я смог только додуматься только того, что я уже описал выше. Уверен, что есть и другие пути, может быть более эффектив.

    Плж поделитесЬ, как ещё можно решить такую промлему, или может быть всё таки оставить свой вариант
     
Статус темы:
Закрыта.