Искать  
 
   
 
уникал теплейт для артикла из каждой категории: реально?
Отправлено: 24 Май 2008 05:56 P.M.   [ Игнорировать ]
Новичок
Rank
Всего сообщений:  10
Зарегистрирован  2008-02-10

У меня такая проблема
сайт скажем про машин: есть 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. думаю, что есть и другии ... но от того, что голова болит, пока не выжу grin

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

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

Профиль
 
 
Отправлено: 25 Май 2008 09:48 A.M.   [ Игнорировать ]   [ # 1 ]
Member
RankRankRank
Всего сообщений:  192
Зарегистрирован  2008-01-02

Есть простой путь, сдлеай для каждой категории отдельный шаблон

Профиль
 
 
Отправлено: 25 Май 2008 10:22 A.M.   [ Игнорировать ]   [ # 2 ]
Администратор
RankRankRankRank
Всего сообщений:  1354
Зарегистрирован  2008-01-02

а что в этих подменю (a_seria_menu)? Какая информация, откуда?

 Подпись 

booooring…

Профиль
 
 
Отправлено: 25 Май 2008 05:49 P.M.   [ Игнорировать ]   [ # 3 ]
Новичок
Rank
Всего сообщений:  10
Зарегистрирован  2008-02-10

Есть простой путь, сдлеай для каждой категории отдельный шаблон

и как же я из буду выводить на архив или категории теплейтс или при поиске ? и в этом случае придется поменять урлы тех страниц, которые уже проиндексированны (их не мало)

а что в этих подменю (a_seria_menu)? Какая информация, откуда?

Calm static information ... всего лишь пункты меню скажем для a_seria Мерсов которые я буду вводить в ручную в этот теплейт

Профиль
 
 
Отправлено: 25 Май 2008 05:55 P.M.   [ Игнорировать ]   [ # 4 ]
Новичок
Rank
Всего сообщений:  10
Зарегистрирован  2008-02-10

похоже, что иного не дано ... или я не смог довести до вас, что конкретно мне нужно

Профиль