Шаблон своими руками. Часть 8...

1113
Поскольку те, кто благополучно дошел до этого места в особых разъяснениях скорее всего не нуждаются, а остальные судя по всему их все равно не читают, то в этой части я решил особо не напрягаться и закрыть оставшиеся вопросы достаточно быстро и без подробностей. Если хотите воспринимайте этот пост как такое себе своеобразное подведение итогов. В конце концов все эти формы и скрипты еще неоднократно будут появляться в процессе, соответственно время понять эту тему на 5+ еще будет...

Итак. Полагаю, что раз уж вы взялись за изготовление шаблона, то вам как минимум знакомы хотя бы основы html. Следовательно что такое форма вы представляете и понимаете, что для того чтобы она не просто висела для красоты, а еще и что-то делала, необходимо знать значения обязательных атрибутов, указывающих что и куда мы отправляем. Но поскольку в комплекте есть модуль с одноименным названием «Поиск», то ничего изобретать в данном случае не нужно, достаточно просто скопировать нужные данные из того, что уже есть. Описывать «сложный» процесс подключения модуля в любую позицию, чтобы потом с помощью firebug посмотреть нужные значения по меньшей мере глупо, поэтому сразу пишу код, которым нужно заменить существующую на текущий момент заглушку:

Скрытый текст виден только зарегистрированным пользователям


Единственное что можно добавить по этому поводу - атрибут placeholder в IE ниже 10 версии работать не будет. Если нужна поддержка младших версий, то placeholder придется заменить скриптом:

Скрытый текст виден только зарегистрированным пользователям


С поиском все. Не знаю, что тут может быть непонятно, но если что спрашивайте...

Теперь что касается системных сообщений. С самого начала идея была в том, что эти сообщения с помощью JavaScript будут выводиться во всплывающем окне. Готовых скриптов с подобным функционалом в интернете полно, оставалось только выбрать наиболее подходящий для конкретной задачи. Соответственно, так же как и в предыдущем случае изобретать никаких велосипедов я не стал и в качестве рабочего примера прикрутил то, что первое попалось под руку:

Скрытый текст виден только зарегистрированным пользователям


Разумеется подключить этот скрипт можно и отдельно, но так как специально для таких случаев и был создан файл include.js, то имеет смысл положить его именно туда. Ну и естественно в template.php нужно добавить код, с помощью которого системные сообщения выводятся. Из шаблона default забираем образец и где-нибудь в самом низу, после закрывающего тега </footer> вставляем его себе. Изменения я прокомментировал:

Скрытый текст виден только зарегистрированным пользователям


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

Скрытый текст виден только зарегистрированным пользователям


И последнее. Если кто не понял, то вся эта история с функцией isMod была придумана совсем не случайно. Во первых умение найти нужный участок кода, а так же на лету обнаружить и локализовать возможную ошибку верстки это основа основ, понимание которой в разы облегчает работу. Во вторых мы строили основной логический каркас шаблона, причем если вы заметили, то далеко не самый простой. И естественно, что без хотя бы поверхностного понимания как все это работает, дальше чем очередная модификация шаблона по умолчанию мы бы не пошли. Собственно вы все это и так прекрасно понимаете, поэтому те, кто так и не захотел разбираться... ну что я могу сказать, значит не судьба. Ни один из заданных вопросов, если он напрямую касался темы без ответа не остался.

Кстати если кого-то напрягает, что эта злополучная функция по сути является хаком, то с тем же успехом ее можно положить и в template.php, просто выглядеть она будет немного иначе:

Скрытый текст виден только зарегистрированным пользователям


Ну и соответственно не забывайте, что в таком случае нужно изменить и вызов этой функции. Ничего сложного в этом нет, поэтому как именно нужно изменить я писать не буду, перечитайте часть, где я писал про Васю и Машу и попробуйте сообразить самостоятельно.

На этом разбор полетов закончен, логика шаблона полностью готова и если вы не допустили каких либо ошибок, то на текущий момент у вас должно быть ровно то же самое, что и у меня. Ни больше, ни меньше:

""
Изображение уменьшено. Щелкните, чтобы увидеть оригинал.

Все остальные действия к template.php никакого отношения не имеют и будут происходить преимущественно внутри .tpl и .css, соответственно если первое я еще как-то попытаюсь объяснить, то без знания css хотя бы на базовом уровне уследить за происходящим и закончить шаблон у вас не будет практически ни единого шанса.

P.S. Я все понимаю и всех люблю, но поскольку мне пытались продать мою же разработку, то доступ к материалам моего блога для незарегистрированных пользователей закрыт раз и навсегда. Если вам что-то, кроме приглашения от меня нужно, то обращайтесь в аську. Номер в профиле.
Шаблон своими руками. Часть 7... | Шаблон своими руками. Часть 9...
Комментарии (6)
Роман 29 ноября 2012 в 07:42 +2
Pasha, свяжитесь с администрацией, и пусть на ваш блог по созданию шаблона сделают ссылку. Чтобы начинающие не рыскали по всем блогам, а в самом начале прочитали что, да как...
А вам большой +!!!
KS 29 ноября 2012 в 07:56 0
Кажется системные сообщения выводиться не будут, если js отключен, или пользователь с телефона заходит ..
Pasha 29 ноября 2012 в 13:00 +1
1. Все, что я буду писать ниже не пошаговая инструкция. Все изменения в файлах движка, а так же излишняя сложность, как собственно каркаса шаблона, так и отдельных его элементов будут сделаны с одной единственной целью - рассмотреть как можно больше вопросов, которые могут возникнуть в процессе создания собственного продукта.

А вообще-то если отключить js, то системные сообщения вас будут беспокоить меньше всего, поверьте :)
Олег 29 ноября 2012 в 11:13 0
Спасибо за уроки+
Владимир 29 ноября 2012 в 23:22 0
Отлично. В закладки.
eoleg 30 ноября 2012 в 00:53 0
+
Чтото блогами сегодня завалили, чуть этот не пропустил! )