Модератор форума: Yuri_G |
Сообщество uCoz Мастерская uCoz Дизайн: управление шаблонами Идентификатор модуля, $MODULE_ID$, распознавание модуля. (Если нужно указать системе что выводить в разных модулях.) |
Идентификатор модуля, $MODULE_ID$, распознавание модуля. |
Есть глобальный код для конструктора шаблонов - зовется он $MODULE_ID$. Этот код несет в себе идентификатор модуля. Этот код может принимать следующие значения(попробуйте прописать эту переменную в код каркаса и примените каркас ко всем модулям - так Вы сами увидите какие значения будут в каждом из модулей, должно получиться следующее):"Новости" - news, "Редактор страниц" - index, "Фотоальбом" - photo, "Каталог файлов" - load, "Дневник" - blog, "Каталог статей" - publ, "Каталог сайтов" - dir, "Доска объявлений" - board, "Гостевая книга" - gb, FAQ(вопрос/ответ) - faq. Если на момент прочтения в системе появились новые модули, можно узнать название вышеуказанным методом лимбо догадаться по аналогии.
Практическое применение. Используем код для вывода разной информации в зависимости от модуля. Создадим глобальный блок(с главной страницы панели управления зайдите в раздел "Управление блоком "Друзья сайта""), назовем его INFO_MODULE, код вызова будет - $GLOBAL_INFO_MODULE$. Вставим в каркасе этот код в желаемое место и применим к шаблонам этот каркас. В $GLOBAL_INFO_MODULE$ пропишем следующий код: Code <?if($MODULE_ID$="photo")?>Это фотоальбом,здесь пользователи могут оставлять свои фото в упорядоченном хранилище.<?endif?> <?if($MODULE_ID$="blog")?>Тут можно вести записи и получать на них комментарии.<?endif?> В результате работы этого кода мы получим вывод на всех страницах фотоальбома надпись - "Это фотоальбом,здесь пользователи могут оставлять свои фото в упорядоченном хранилище.", а надпись "Тут можно вести записи и получать на них комментарии." выведется на каждой странице модуля "Дневник". Далее, используя глобальный код $PAGE_ID$ можно дополнительно указать на каких именно страницах выводить, так, код <?if($MODULE_ID$="main")?><?endif?> даст гарантию вывода лишь на главной странице каждого модуля,а объединение условий даст нужный результат (вернее их сложение). Перепишем код. Code <?if($MODULE_ID$="photo")?><?if($MODULE_ID$="main")?>Это фотоальбом,здесь пользователи могут оставлять свои фото в упорядоченном хранилище.<?endif?><?endif?> <?if($MODULE_ID$="blog")?><?if($MODULE_ID$="main")?>Тут можно вести записи и получать на них комментарии.<?endif?><?endif?> Теперь мы получили то,что хотели. Наглядную реализацию всего сказанного можно узреть вот тут (правая часть меняется в разных модулях, при этом используется только 1 глобальный блок).Сайт полностью управляется системой uCoz и являет собой реализацию ее возможностей. uCoz - это потенциал. Приложив энергию, получите силу.
Адекватность - есть ясное осознание кто ты, где ты, что ты делаешь. Свобода = ответственность. |
Вопрос: Постараюсь задать вопрос здесь:
Коды и операторы ucoz работают лишь на страницах сделанных в модулях: "Новости" - news, "Редактор страниц" - index, "Фотоальбом" - photo, "Каталог файлов" - load, "Дневник" - blog, "Каталог статей" - publ, "Каталог сайтов" - dir, "Доска объявлений" - board, "Гостевая книга" - gb, FAQ(вопрос/ответ) - faq. Если я залил html документы в созданные самостоятельно директории, то коды работать не будут? Ответ: , нет, не будут, они не проходят через фильтр, который преобразует эти коды в их значения. uCoz - это потенциал. Приложив энергию, получите силу.
Адекватность - есть ясное осознание кто ты, где ты, что ты делаешь. Свобода = ответственность. |
Вопрос: помогите как сделать допустим 10 страниц с шаблоном1 ,10 с шаблоном 2
Как? помогите? Ответ:, используйте условный оператор $URI_ID$ |
Извини, nibelungi, не понял - при чем тут глобальный блок?
Еще раз: После третьего-четвертого раза у меня, как программиста, возникает естественный вопрос - как применить общее правило для страниц, имеющих формат страницы 'page6'? Неплохим решением, имхо, было-бы добавление в свойства страниц некоторого числа флажков для разработчиков. По типу резервных полей в некоторых модулях системы. При таком подходе я, к примеру, решил бы свою проблему легко - для всех страниц, имеющих формат по типу страницы 'page6', установил-бы, например, первый такой флажок и в условном операторе написал-бы простое условие типа <?if(!$PAGE_FLAG1$)?>. Как альтернатива для меня в данном случае подходит и проверка URL-адреса страницы - всем вышеупомянутым страницам можно легко присвоить URL-адрес типа scheduler_page1, scheduler_page2 и т.д., после чего в условном операторе проверять вхождение слова 'scheduler' в URL-адрес текущей страницы типа <?if(substr($PAGE_URL$,0,10) != 'scheduler_')?>. |
Quote (sch779) Т.е. - есть-ли шаблонный идентификатор, хранящий URL-адрес текущей страницы? Не название страницы, а именно полный ее URL-адрес типа: http://mysite.ucoz.ru/index/...? Специального кода - нет. Но URL входит в состав кода формы "посоветовать другу", так что если уж очень нужно - то можно попытаться приспособить под это дело код данной формы. Правда, не уверен, что URL входит туда в ЧПУ-формате. Возможно, что и в сокращенном (проверить не могу, у меня ЧПУ отключен). Потеряшка - поиск потерянных и помощь бездомным животным в Питере
Сообщение отредактировал YuriT - Четверг, 01 Июл 2010, 15:53:25
|
здравствуйте. хочу выводить уникальною картинку для каждого раздела, причём не только на странице "список материалов раздела", но и на страницах самих материалов, принадлежащих к соответствующим разделам.
$URI_ID$ не подходит. единственное, за что можно зацепится, это $SECTION_URL$ . но он выдаёт полный адрес, вида сайт.ru/publ/xx . Т. к. publ является зарезервированной папкой (как и остальные подобные), то ничего туда напрямую я добавить не могу. мне хотя бы как-нить взять код раздела (цифры xx в конце), там бы я свои пути сделал. как быть?? Сообщение отредактировал player0 - Воскресенье, 29 Авг 2010, 22:54:02
|
sch779,
Quote (sch779) Неплохим решением, имхо, было-бы добавление в свойства страниц некоторого числа флажков для разработчиков. По типу резервных полей в некоторых модулях системы. При таком подходе я, к примеру, решил бы свою проблему легко - для всех страниц, имеющих формат по типу страницы 'page6', установил-бы, например, первый такой флажок и в условном операторе написал-бы простое условие типа <?if(!$PAGE_FLAG1$)?>. - Ну, да. Идея неплохая - поставить типа фильтра или флага. В данном случае, если страницы идут подряд, можно указать диапазон, как вариант .... Или вот ещё один ... хм ... не фонтан-вариант - но, работать будет .... Задаём условие в названии страницы. То есть. Пишем так: «Страница 1 20» и условие: Quote <?if(substr($MODULE_NAME$,-2)=20)?>код<?endif?> «Страница 2 20», «Страница 3 20», «Страница 4 20» ........ «Страница 999 20» ... А дабы не портить название - вырезаем лишнее по тому же методу .... Если идея понятна - проблем не возникнет.
Flesh Добавлено (29-Авг-2010, 23:11:40)
Flesh Прикрепления:
4541791.png
(25.6 Kb)
·
8541857.png
(11.6 Kb)
Всё написанное выше - моё личное мнение и на абсолютную правоту не претендует.
Есть вопросы лично ко мне - пиши сюда: http://likbezz.ru/forum/8 Сообщение отредактировал fflesh - Воскресенье, 29 Авг 2010, 23:26:35
|
я если честно, не знаю где это такую таблицу смотреть. и где почитать про $SID$ и $CID$
Добавлено (29-Авг-2010, 23:52:37) |
player0,
... Quote (player0) fflesh, так где можно такую таблицу посмотреть?. и где почитать про $SID$ и $CID$ - в смысле? что про них читать? Они выдают, ID категории и раздела. А вообще, советую, и уже не первый раз, завести блок ... вот такой: - забить в него коды и смотреть, что и где показывает ... несложные наблюдения, наверняка подтолкнут к правильной идее ... P.S. Надеюсь не нужно напоминать, что он должен быть виден только группам админов/модеров? Или только админам ... ヅ Quote (player0) мде. идея с substr/strpos отпадает - укоз выдаёт мне на $SECTION_URL$ постоянно - publ/0 а что ты пытаешься получить? ... Тебе картинку? Вот так, например Quote <img src="/img/MODULE_ID$/$SID$/$CID$/картинка.gif" width="16" height="16" /> Или вот так вот Quote <img src="/img/MODULE_ID$/$SID$-$CID$-картинка.gif" width="16" height="16" /> - вставь - и посмотри, что выдаёт ... Лишнее вычеркни ...
Flesh Прикрепления:
1769872.png
(13.4 Kb)
Всё написанное выше - моё личное мнение и на абсолютную правоту не претендует.
Есть вопросы лично ко мне - пиши сюда: http://likbezz.ru/forum/8 Сообщение отредактировал fflesh - Понедельник, 30 Авг 2010, 00:08:15
|
итак.
я хотел сделать (условно), чтобы в каждом разделе было своё оформление. т к сайт у меня про игры, то разделы это по сути разные игры. вариант с $URI_ID$ не подходил, так-как в разделе у каждого материала он разный ($URI_ID$) поэтому, из того, что мне было известно, было только $SECTION_URL$, но как с ним работать, я не знал. с substr/strpos я накосячил и першел к $SID$ $CID$ - оказалось что они возвращают значение, только когда просматриваешь сам материал. а когда ты находишься в разделе данного материала, то они возвращали пустое место. т е етот вариант мне пришлось тоже отбросить. Code <?substr((substr($CAT_URL$,0,(strrpos($CAT_URL$,'/')))),(strrpos((substr($CAT_URL$,0,(strrpos($CAT_URL$,'/'))),'/'))))?> - в любом адресе, выделяет название раздела (т е не цифру, а именно название - например "игра_1"). для "галереи" пришлось его чуть подправить, но смысл тот же. быдлокод конечно, но зато работает да и языки я особо не знаю, чтобы выбирать. теперь у меня на сервере есть папочка, в которой по названию хранится оформление к каждой игре (разделу) в одном экземпляре. осталось только заняться оформлением ... а fflesh `у спасибо. Сообщение отредактировал player0 - Понедельник, 30 Авг 2010, 14:58:09
|
player0,
Чёт как-то сложно ты замутил .... Я вот так, например, делаю ... Code <img alt="" src="/cat<?substr($CAT_URL$,strpos($CAT_URL$,'/load/'))?>.gif" /> /cat/load/6.gif - для раздела, /cat/load/spravki_uchebniki/21.gif - для категории, /cat/load/spravki_uchebniki/21.gif - для материала. ... ヅ P.S. Молодец, что сам дошёл ... ヅ Flesh Всё написанное выше - моё личное мнение и на абсолютную правоту не претендует.
Есть вопросы лично ко мне - пиши сюда: http://likbezz.ru/forum/8 |
так фишка то в чём - $CAT_URL$ выдаёт не просто адрес категории, но ещё и сайт - пример - site.ru/publ/cat . и напрямую с этим адресом сделать ничего не получается (в системные папки типа publ, photo доступ закрыт). вот и пришлось мне извращатся
щас в твоём разберусь. Добавлено (30-Авг-2010, 16:35:57) Добавлено (30-Авг-2010, 16:40:04) Сообщение отредактировал player0 - Понедельник, 30 Авг 2010, 16:28:54
|
player0,
Quote (player0) понял. ты берёшь последнее число - т е номер категории. хоть это и просто сделать, но я в самом начале решил от этого отказаться, т к в каталоге статей и , например, в галерее, номера разделов разные. и пришлось бы одно оформление закачивать на сервак в двух (и более) вариантах. поэтому решил, что лучше раз помучаюсь , а потом .... Ну а что тебе мешает сделать вот так: Quote «/_$MODULE_ID$/cat<?substr($CAT_URL$,strpos($CAT_URL$,'/$MODULE_ID$/')-1)?>.gif» «/_publ/cat20.gif» - каталог статей ... «/_load/cat21.gif» - каталог файлов .... ヅ - попробуй - совпадений быть не может.
Flesh Всё написанное выше - моё личное мнение и на абсолютную правоту не претендует.
Есть вопросы лично ко мне - пиши сюда: http://likbezz.ru/forum/8 Сообщение отредактировал fflesh - Понедельник, 30 Авг 2010, 16:57:39
|
player0,
Quote (player0) да нет, ты меня понял. совпадения наоборот нужны. для моей цели. я хотел, чтобы и для "статей" и для "галереи" оформление для игры_1 бралось из одной и той же папки. ... ヅ ... Понятно ... ヅ Flesh Всё написанное выше - моё личное мнение и на абсолютную правоту не претендует.
Есть вопросы лично ко мне - пиши сюда: http://likbezz.ru/forum/8 |
| |||