Для тех, кто знает и немного работал с HTML и CSS, но пугается огромного объема информации, находящегося в "/templates/_default_/template.php".
Результат будет не совсем ожидаемый, но логика действий, надеюсь будет проста и понятна...
Итак…
1. Копируем себе в резерв на всякий случай "/templates/_default_/template.php" и "templates/_default_/css/styles.css"
2. Создаем себе простейший html-файл (хоть в Dreamweaver`е, как я) с таблицей похожей на расположение стандартного шаблона:
Надеюсь здесь все понятно. Заголовок, простая таблица 3х3 ячейки, верхние ячейки объединены в одну и нижние тоже...
3. В самое начало файла вместо тэга "<html>"вставляем инициализацию:
4. В средний ряд в ячейки вставляем строки для блоков модулей:
В левую среднюю ячейку вставляем "<?php cmsModule("left"); ?>". Заодно добавляем ей атрибуты <td valign="top" id="left">
В самую среднюю вставляемАтрибуты ставим "<td valign="top" id="center">"
В правую среднюю ставимАтрибуты ставим соответственно "<td valign="top" id="right">"
5. Теперь нам надо подцепить в заголовок кучу мета-данных, кодировки и яваскрипты:
из нашего файлика выкидываем все между тэгами "<head></head>" и вставляем туда код, находящийся в этих тэгах в файле "/templates/_default_/template.php":
Так, скрипты подцепили...
6. В верхние объединенные ячейки вставляем код "<div id="sitename"><?php cmsPrintSitename(); ?></div>"
Сюда же через "
" прикручиваем "глубиномер": "<div><?php cmsPathway(’»’); ?> </div>".
7. В подвал (в нижние объединенные ячейки) вставляем "<div id="footer"><a href="/"><?php cmsPrintSitename(); ?></a> © <?php echo date(’Y’)?></div>"
8. Теперь самое сложное и интересное...
Нам нужно вставить кусок кода для авторизации, меню для пользователя "Зарегистрироваться, Авторизоваться, Выйти", и код для поиска.
Вам нужно определиться, куда вы хотите это прикрутить, и будем прикручивать.
Я решил что мне будет удобно в правой средней ячейке сверху перед блоком правых модулей.
Лезу, соответственно, в эту ячейку и поочередно вставляю следующие куски кода:
Для ввода пароля:
Этот блок на самом деле не имеет значение куда вставлять. Главное чтобы он не разбивал структуру документа в ненужном месте…
Дальше...
Блок меню "Зарегистрироваться, Авторизоваться, Выйти" идет одной таблицей, объединенной еще и с формой поиска. Берем все это также из "/templates/_default_/template.php":
Для того чтобы пункты меню справа были каждый с новой строки, я после каждой ссылки вида "<a href="/registration" id="ht_reg">Регистрация</a>" добавляю перенос строки "
". В вышеприведенном коде уже меню уже идет вместе с переносами строк, чтобы Вам было проще копировать, вставлять и разбираться дальше...
Собственно и все… Сохраняем получившийся файлик вместо "/templates/_default_/template.php".
В результате у меня получилос вот такой вот файл:
Если вы зайдете на свой сайт с этим файлом шаблона, то увидите, что все это хоть и криво (CSS стили мы пока еще не трогали, они остались старыми), но примерно на том месте где и ожидалось. Теперь вы знаете что где находится. Знаете в каком блоке какие классы используются и что нужно прописывать в CSS, чтобы получить желаемый результат.
Теперь вы можете стереть файл "templates/_default_/css/styles.css"(предварительно сохранив старый вариант). Создать новый… и копировать в новый нужные блоки из старого файла, заодно разбираясь и внося нужные исправления в стили...
Если уж вы понимаете, что напортачили и запутались, то восстанавливаете ранее сохраненные файлы и начинаете заново...
Всем удачи!!! ;)
Результат будет не совсем ожидаемый, но логика действий, надеюсь будет проста и понятна...
Итак…
1. Копируем себе в резерв на всякий случай "/templates/_default_/template.php" и "templates/_default_/css/styles.css"
2. Создаем себе простейший html-файл (хоть в Dreamweaver`е, как я) с таблицей похожей на расположение стандартного шаблона:
<html> <head> <title>Untitled Document</title> <meta http-equiv="Content-Type" content="text/html; charset=windows-1251"> </head> <body bgcolor="#FFFFFF" text="#000000"> <table width="100%" border="1" cellspacing="0" cellpadding="0"> <tr> <td colspan="3"> </td> </tr> <tr> <td> </td> <td> </td> <td> </td> </tr> <tr> <td colspan="3"> </td> </tr> </table> </body> </html>
3. В самое начало файла вместо тэга "<html>"вставляем инициализацию:
?> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html xmlns="http://www.w3.org/1999/xhtml">
4. В средний ряд в ячейки вставляем строки для блоков модулей:
В левую среднюю ячейку вставляем "<?php cmsModule("left"); ?>". Заодно добавляем ей атрибуты <td valign="top" id="left">
В самую среднюю вставляем
<div><?php cmsModule("top"); ?></div> <div><?php cmsBody(); ?></div> <div><?php cmsModule("bottom"); ?></div>
В правую среднюю ставим
<?php if (cmsCountModules("right")) { ?> <?php cmsModule("right"); ?> <?php } ?>
5. Теперь нам надо подцепить в заголовок кучу мета-данных, кодировки и яваскрипты:
из нашего файлика выкидываем все между тэгами "<head></head>" и вставляем туда код, находящийся в этих тэгах в файле "/templates/_default_/template.php":
<!-- HEAD !--> <?php cmsPrintHead(); ?> <link href="/templates/_default_/css/styles.css" rel="stylesheet" type="text/css" /> <link type='text/css' href='/templates/_default_/basic/css/basic.css' rel='stylesheet' media='screen' /> <!--[if lt IE 7]> <link type='text/css' href='/templates/modern/basic/css/basic_ie.css' rel='stylesheet' media='screen' /> <![endif]--> <meta http-equiv="Content-Type" content="text/html; charset=windows-1251"/> <script src='/templates/_default_/basic/js/jquery.simplemodal.js' type='text/javascript'></script> <script src='/templates/_default_/basic/js/basic.js' type='text/javascript'></script> <script type="text/javascript" src="/templates/_default_/jquery.iepnghack.1.6.js"></script> <script type="text/javascript">$(function(){ $("#logoimg").pngfix(); })</script>
6. В верхние объединенные ячейки вставляем код "<div id="sitename"><?php cmsPrintSitename(); ?></div>"
Сюда же через "
" прикручиваем "глубиномер": "<div><?php cmsPathway(’»’); ?> </div>".
7. В подвал (в нижние объединенные ячейки) вставляем "<div id="footer"><a href="/"><?php cmsPrintSitename(); ?></a> © <?php echo date(’Y’)?></div>"
8. Теперь самое сложное и интересное...
Нам нужно вставить кусок кода для авторизации, меню для пользователя "Зарегистрироваться, Авторизоваться, Выйти", и код для поиска.
Вам нужно определиться, куда вы хотите это прикрутить, и будем прикручивать.
Я решил что мне будет удобно в правой средней ячейке сверху перед блоком правых модулей.
Лезу, соответственно, в эту ячейку и поочередно вставляю следующие куски кода:
Для ввода пароля:
<div id="authModal" style='display:none'> <form id="authform" target="_self" style="margin: 0px;" name="authform" method="post" action="/login"> <div id="authtitle">Авторизация</div> <table cellpadding="2" cellspacing="2" align="center" id="authtable"> <tr> <td id="authtd">Логин:</td> <td id=""><input name="login" type="text" id="authinput" /></td> </tr> <tr> <td id="authtd">Пароль:</td> <td id=""><input name="pass" type="password" id="authinput" /></td> </tr> </table> <div id="authoption"><input type="checkbox" value="1" name="remember"/>Запомнить меня | <a href="/0/passremind.html">Забыли пароль?</a></div> <div id="authbutton"><input name="auth" type="submit" value="Войти" id="authbtn"/></div> </form> </div>
Дальше...
Блок меню "Зарегистрироваться, Авторизоваться, Выйти" идет одной таблицей, объединенной еще и с формой поиска. Берем все это также из "/templates/_default_/template.php":
<table width="370" align="right" cellpadding="0" cellspacing="0" id="headtools"> <tr> <td> <!-- Если юзер не авторизован, показываем ему ссылки с регистрацией и авторизацией --> <?php if(!$inUser->id){ ?> <a href="/registration" id="ht_reg">Регистрация</a> <a href="javascript:auth()" id="ht_auth">Авторизация</a> <a href="javascript:window.external.AddFavorite('http://<?php echo $_SERVER['HTTP_HOST']?>/', '<?php cmsPrintSitename(); ?>')" id="ht_fav">В избранное</a> <?php } else { $uid = $inUser->id; $newmsg = usrNewMessages($inUser->id); ?> <a href="/users/0/<?php echo $uid?>/profile.html" id="ht_profile">Мой профиль</a> <?php if (!$newmsg) { ?> <a href="/users/0/<?php echo $uid?>/messages.html" id="ht_messages">Cообщения</a> <?php } else { ?> <a style="color:#F60;" href="/users/0/<?php echo $uid?>/messages.html" id="ht_messages">Cообщения <?php echo strip_tags($newmsg)?></a> <?php } ?> <a href="/logout" id="ht_logout">Выход</a> <?php } ?> </td> </tr> <tr> <td> <div id="bar_search"> <form name="searchform" action="/index.php" method="get"> <input type="hidden" name="view" value="search" /> <input name="query" type="text" id="searchinput" /><input name="gosearch" id="searchbtn" type="image" src="/templates/_default_/images/searchbtn.png" alt="Поиск" width="22" height="23" onclick="document.searchform.submit()"/> </form> </div> </td> </tr> </table>
". В вышеприведенном коде уже меню уже идет вместе с переносами строк, чтобы Вам было проще копировать, вставлять и разбираться дальше...
Собственно и все… Сохраняем получившийся файлик вместо "/templates/_default_/template.php".
В результате у меня получилос вот такой вот файл:
?> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <!-- HEAD !--> <?php cmsPrintHead(); ?> <link href="/templates/_default_/css/styles.css" rel="stylesheet" type="text/css" /> <link type='text/css' href='/templates/_default_/basic/css/basic.css' rel='stylesheet' media='screen' /> <!--[if lt IE 7]> <link type='text/css' href='/templates/modern/basic/css/basic_ie.css' rel='stylesheet' media='screen' /> <![endif]--> <meta http-equiv="Content-Type" content="text/html; charset=windows-1251"/> <script src='/templates/_default_/basic/js/jquery.simplemodal.js' type='text/javascript'></script> <script src='/templates/_default_/basic/js/basic.js' type='text/javascript'></script> <script type="text/javascript" src="/templates/_default_/jquery.iepnghack.1.6.js"></script> <script type="text/javascript">$(function(){ $("#logoimg").pngfix(); })</script> </head> <body bgcolor="#FFFFFF" text="#000000"> <table > <tr> <td colspan="3"><div id="sitename"><?php cmsPrintSitename(); ?></div> <div><?php cmsPathway('»'); ?> </div></td> </tr> <tr> <td valign="top" id="left"><?php cmsModule("left"); ?></td> <td valign="top" id="center"> <div><?php cmsModule("top"); ?></div> <div><?php cmsBody(); ?></div> <div><?php cmsModule("bottom"); ?></div> </td> <td><div id="authModal" style='display:none'> <form id="authform" target="_self" style="margin: 0px;" name="authform" method="post" action="/login"> <div id="authtitle">Авторизация</div> <table cellpadding="2" cellspacing="2" align="center" id="authtable"> <tr> <td id="authtd">Логин:</td> <td id=""><input name="login" type="text" id="authinput" /></td> </tr> <tr> <td id="authtd">Пароль:</td> <td id=""><input name="pass" type="password" id="authinput" /></td> </tr> </table> <div id="authoption"><input type="checkbox" value="1" name="remember"/>Запомнить меня | <a href="/0/passremind.html">Забыли пароль?</a></div> <div id="authbutton"><input name="auth" type="submit" value="Войти" id="authbtn"/></div> </form> </div> <table width="370" align="right" cellpadding="0" cellspacing="0" id="headtools"> <tr> <td> <!-- Если юзер не авторизован, показываем ему ссылки с регистрацией и авторизацией --> <?php if(!$inUser->id){ ?> <a href="/registration" id="ht_reg">Регистрация</a> <a href="javascript:auth()" id="ht_auth">Авторизация</a> <a href="javascript:window.external.AddFavorite('http://<?php echo $_SERVER['HTTP_HOST']?>/', '<?php cmsPrintSitename(); ?>')" id="ht_fav">В избранное</a> <?php } else { $uid = $inUser->id; $newmsg = usrNewMessages($inUser->id); ?> <a href="/users/0/<?php echo $uid?>/profile.html" id="ht_profile">Мой профиль</a> <?php if (!$newmsg) { ?> <a href="/users/0/<?php echo $uid?>/messages.html" id="ht_messages">Cообщения</a> <?php } else { ?> <a style="color:#F60;" href="/users/0/<?php echo $uid?>/messages.html" id="ht_messages">Cообщения <?php echo strip_tags($newmsg)?></a> <?php } ?> <a href="/logout" id="ht_logout">Выход</a> <?php } ?> </td> </tr> <tr> <td> <div id="bar_search"> <form name="searchform" action="/index.php" method="get"> <input type="hidden" name="view" value="search" /> <input name="query" type="text" id="searchinput" /><input name="gosearch" id="searchbtn" type="image" src="/templates/_default_/images/searchbtn.png" alt="Поиск" width="22" height="23" onclick="document.searchform.submit()"/> </form> </div> </td> </tr> </table> <?php if (cmsCountModules("right")) { ?> <?php cmsModule("right"); ?> <?php } ?> </td> </tr> <tr> <td colspan="3"> <div id="footer"> </div> </td> </tr> </table> </body> </html>
Теперь вы можете стереть файл "templates/_default_/css/styles.css"(предварительно сохранив старый вариант). Создать новый… и копировать в новый нужные блоки из старого файла, заодно разбираясь и внося нужные исправления в стили...
Если уж вы понимаете, что напортачили и запутались, то восстанавливаете ранее сохраненные файлы и начинаете заново...
Всем удачи!!! ;)
Реклама #
lezginka.ru 14 лет назад #
кстати , так же можно и нужно расписать css(если есть время и желание).
Львенок 14 лет назад #
Делаешь какой угодно скин... Пункты 4,6,7,8 вставку делаешь туда, куда хочешь с поправкой на изменения...
Светлана Кондратьева ✝️ 14 лет назад #
Светлана Кондратьева ✝️ 14 лет назад #
Выло бы клёво разместить там урок полностью, но это от твоего желания зависит. Если пожелаешь, я тебе помогу разобраться с вики-синтаксисом.
Львенок 14 лет назад #
А дальше потом сама отформатируешь ;)
Светлана Кондратьева ✝️ 14 лет назад #
Львенок 14 лет назад #
надеюсь разберешься ))
Димитриус 14 лет назад #
Львенок 14 лет назад #
Светлана Кондратьева ✝️ 14 лет назад #
Львенок 14 лет назад #
структура статьи вся сохранена....
LonelyCat 14 лет назад #
Львенок 14 лет назад #
"если девять беременных женщин соберутся вместе, ребенок не родится через месяц"...
LonelyCat 14 лет назад #
freemen 14 лет назад #
Получим что-то типа этого: http://anton.shevchuk.name/wordpress/theme-constructor-for-wordpress-updated/
Мы ведь к этому стремимся?
Спасибо автору, что сделал шаг в нужном направлении: "Строим любой сайт одними кликами - без программиста"
Львенок 14 лет назад #
До сих пор отсутствует четкая политика прописывания стилей и классов.
Есть только некоторое направление, которого желательно придерживаться...
Короче в связке "код модуля"->"шаблоны для Смарти"->"CSS" каждый стили прикручивает как вздумается и где вздумается...
Я понимаю что Смарти вещь полезная и "теоретически удобная", но требует значительного времени на освоение и привносит к сожалению еще одну "логику программирования", которую надо учитывать...
в идеале хотелось бы чтобы все заканчивалось на логике php+html+css, ну и JavaScript...
В общем каждый стремится к чему-то своему...
14 лет назад #
LonelyCat 14 лет назад #
freemen 14 лет назад #
с божьей помощью и того же Smarty ...
Естественно без унификации и некоторой "жесткости" в концепции не обойтись, зпто получим универсальный инструмент ...
прецеденты ведь на лицо
AndroS 13 лет назад #
Veris 12 лет назад #
А дальше уже расписывать.
Почему? Да банально при обновлении затрется ваш шаблон.
p.s. документация ссылается сюда, а тут... как-то неполно, извините.
Veris 12 лет назад #
одмины отжигают))
/templates/_default_/css/nyromodal.css
эт за что же нам такое?
так лучше по-моему
/css/nyromodal.css
Veris 12 лет назад #
Veris 12 лет назад #
NIR FROST 11 лет назад #
{if $articles}
{assign var="col" value="1"}
<table class="contentlist contentlist" cellspacing="2" width="100%">
{foreach key=0 item=article from=$articles}
{if $col==1} <tr> {/if}
<td width="20" valign="top">
<img src="/templates/{template}/images/icons/article.png" class="con_icon"/>
</td>
<td width="" valign="top">
<div class="con_title">
<a href="{$article.url}" class="con_titlelink">{$article.title}</a>
</div>
{if $cat.showdesc}
<div class="con_desc">
{if $article.image}
<div class="con_image">
<img src="/images/photos/small/{$article.image}" alt="{$article.title|escape:'html'}"/>
</div>
{/if}
{$article.description}
</div>
{/if}
{if $cat.showcomm || $showdate || ($cat.showtags && $article.tagline)}
<div class="con_details">
{if $showdate}
{$article.fpubdate} - <a href="{profile_url login=$article.user_login}" style="color:#666">{$article.author}</a>
{/if}
{if $cat.showcomm}
{if $showdate} | {/if}
<a href="{$article.url}" title="{$LANG.DETAIL}">{$LANG.DETAIL}</a>
| <a href="{$article.url}#c" title="{$LANG.COMMENTS}">{$article.comments|spellcount:$LANG.COMMENT1:$LANG.COMMENT2:$LANG.COMMENT10}</a>
{/if}
| {$article.hits|spellcount:$LANG.HIT:$LANG.HIT2:$LANG.HIT10}
{if $cat.showtags && $article.tagline}
{if $showdate || $cat.showcomm} <br/> {/if}
{if $article.tagline} <strong>{$LANG.TAGS}:</strong> {$article.tagline} {/if}
{/if}
</div>
{/if}
</td>
{if $col==$cat.maxcols} </tr> {assign var="col" value="1"} {else} {math equation="x + 1" x=$col assign="col"} {/if}
{/foreach}
{if $col>1}
<td colspan="{math equation="y - x + 1" x=$col y=$cat.maxcols}"> </td></tr>
{/if}
</table>
{$pagebar}
{/if}
что тут изменить чтоб например вывести записи из кактегории с id =2 к примеру