Trifler Blog
Минимализм, простота, отличная структурированность, продуманность функционала до самых что ни есть мелочей, множество весьма полезных плагинов делает скрипт nano-CMS Мастера Lasto полезным и незаменимым другом любого web-мастера.
Все перечисленные и неупомянутые достоинства этого великолепного скрипта который имеет массу поклонников, позволяют быстро развернуть любой тематический ресурс на просторах Паутины.
Как не однократно говорилось, все свои изыски на ниве html и css и не только, местный автор в первую очередь проверяет на локальном web-сервере «Денвер» используя указанный скрипт.
К сожалению, не все извращения, требуемые для реализации тех или иных задумок можно выполнить на основе заложенного функционала.
К примеру – файл _add.php предназначен для вывода рекламных блоков или дополнительного меню, но все содержимое файла выводится только одной переменной, что не всегда удобно, особенно если нужную информацию надо расположить в разных колонках навигации или в области контента.
Но все не так печально :)
Тем кто знаком с дефолтным дистрибутивом nano-CMS может обнаружить в файле _add.php такую запись:
# Выбиралка размера шрифта
$font=in_array($action,array('email','stat','login')) ? '': <<<font
...
font;
Она осуществляет вывод переменной $font расположенной в соответствующем месте файла _design.php "выбиралку" размера шрифта по дефолту в правую колонку .
Это один из вариантов оформления, при изменении стилей и способа позиционирования, можно получить другое визуальное представление оной - тут "выбиралка" расположена в блоке горизонтального меню.
Выделенное цветом в листинге кода говорит о том, что "выбиралка" размера шрифта присутствует не на всех страницах доступных посетителю ресурса, в частности ее нет на странице контактов, статистики и в админке.
Используя простую аналогию можно без особых хлопот создать дополнительную переменную, скажем для меню:
# Дополнительное меню в файле _add.php "nano-CMS Lasto" $addmenu=<<<addmenu ... addmenu;
Вместо многоточия прописываем в соответствующем обрамлении html-кода меню с нужными ссылками, естественно необходимо и стилевое оформление.
Не забываем поставить новую переменную - $addmenu, в нужную колонку навигации файла _design.php.
Многие пользователи скриптов Мастера Lasto, очень часто не подозревают о возможностях оных, не смотря на то, что практически все скрипты имеют собственные страницы онлайн-мануалов и великолепно документированы в соответствующих файлах отдаваемого дистрибутива.
В большинстве случаев это происходит по нескольким причинам:
Предлагаемый цикл статей поможет устранить данный пробел.
Вадим Ласто - талантливый программист, автор многочисленных скриптов - "nano CMS", "Lasto Blog", "Gold Shop" и т.д. и т.п. которые по многим своим параметрам не имеют аналогов не только в России, но и за бугром.
Часть скриптов отдается совершенно бесплатно, часть стоит чисто символическую сумму. Отзывчивая, всегда доступная и корректная помощь, позволяет начинающему, делающему свои первые шаги в Паутине, легко понять и освоить функционал и принципы работы скриптов.
Вадим Николаевич, как блогер на страницах своего блога, много пишет об актуальных проблемах русско-язычного сегмента Интернет и часто его размышления идут в разрез с общепринятым мнением.
Ярко выраженная индивидуальность изложения материала, перекрасное владение языком, чему можно только позавидовать, делает его публикации по тем или иным вопросам не забываемыми...
По дефолту в нем расположен html-код выводящий рекламные блоки типа небоскреб в колонки навигации. Мы же начнем с чистого листа. Удаляем все содержимое указанного файла - должно стать так:
<?php /* Выше этой строки в файле ничего не должно быть */ $counters=<<<counters counters; /* Ниже этой строки в файле ничего не должно быть. */ ?>
Для получения картинки, что приведена на скриншоте ниже, в блоках, которой можно расположить, как текстовую информацию, так и графику, а также рекламные баннеры на основе флеш:
необходимо в файл counters.php добавить следущее:
<?php /* Выше этой строки в файле ничего не должно быть */
$counters=<<<counters
<style type="text/css">
.counters {
border:#ccc 1px solid;margin:15px auto;
overflow:hidden;width:494px;
}
.bannercounters {
border:#ccc 1px solid;float:left;
margin:2px 0 2px 2px;width:160px;height:160px;
}
</style>
<div class="counters">
<div class="bannercounters">
banner counters.php
leftcounters
</div>
<div class="bannercounters">
banner counters.php
centercounters
</div>
<div class="bannercounters">
banner counters.php
rightcounters
</div>
</div>
<div class="counters">
Горизонтальный banner counters.php - width:494px;
</div>
counters;
/* Ниже этой строки в файле ничего не должно быть. */ ?>
С учетом того, что размеры контейнеров имеют фиксированную ширину, а блоки верхней части скриншота и фиксированную высоту это накладывает определенные ограничения на размещаемую в них информацию.
Оформление блоков может быть любым, все определяется только двумя классами стилей, которые можно вынести в общий файл XXX.css.
Интересной возможностью является разбиение содержимого файла counters.php на две или более частей, которые индивидуальными переменными могут быть интегрированы в нужное место файла design.php.
Прежде всего, снова обратимся к файлу counters.php для получения нужного функционала и произведем все необходимые нам действия:
<?php /* Выше этой строки в файле ничего не должно быть */
$counters=<<<counters
<style type="text/css">
.counters {
border:#ccc 1px solid;margin:10px auto;
overflow:hidden;width:494px;
}
.bannercounters {
border:#ccc 1px solid;overflow:hidden;
margin:10px auto;width:190px;
}
</style>
<!-- topcounters -->
<div class="counters">
Горизонтальный banner counters.php - width:494px;
</div>
<!-- topcounters -->
<!-- leftcounters -->
<div class="bannercounters">
banner counters.php
leftcounters
</div>
<!-- leftcounters -->
<!-- rightcounters -->
<div class="bannercounters">
banner counters.php
rightcounters
</div>
<!-- rightcounters -->
<!-- bottomcounters -->
<div class="counters">
Горизонтальный banner counters.php - width:494px;
</div>
<!-- bottomcounters -->
counters;
/* Ниже этой строки в файле ничего не должно быть. */ ?>
Секрет заключается в комментариях:
<!-- XXXcounters --> ... <!-- XXXcounters -->
В данном случае содержимое файла разбито на четыре части. Заключенный между ними html-код, может быть любым, также, как и его оформление, которое определяется двумя классами стилей.
Следующий шаг - редактирование файла design.php:
# Расфасовка содержимого по колонкам из файла counters.php
$leftcounters=$rightcounters=$topcounters=$bottomcounters='';
if (preg_match_all("~<\!-- leftcounters -->(.*)<\!-- leftcounters -->~Usi",$counters,$n)) $leftcounters=$n[1][0];
if (preg_match_all("~<\!-- rightcounters -->(.*)<\!-- rightcounters -->~Usi",$counters,$n)) $rightcounters=$n[1][0];
if (preg_match_all("~<\!-- topcounters -->(.*)<\!-- topcounters -->~Usi",$counters,$n)) $topcounters=$n[1][0];
if (preg_match_all("~<\!-- bottomcounters -->(.*)<\!-- bottomcounters -->~Usi",$counters,$n)) $bottomcounters=$n[1][0];
Эти строки размещаем перед строкой:
switch ($_s['settings']['designtype']) {
Полученные таким образом переменные:
$leftcounters $rightcounters $topcounters $bottomcounters
расставляем в нужные места шаблона страницы в том же файле design.php
По названию переменных должно быть понятно, какие куда.
Две верхних предназначены в основном для колонок навигации, последовательность их расположения по отношению к другим переменным - $menu, $add, $calendula, определяется самостоятельно.
Две нижних предназначены для области контента, оптимально перед и после переменной $echo, что не исключает их использования в header или footer, при соответствующем изменении html и css.
Будьте внимательны, соблюдайте синтаксис php, html и css, простой копипаст убережет от ошибок.
Все работоспособно и не однократно проверенно на практике.
Автор, благодарит Мастера Lasto за неоценимую помощь, приведшую к написанию данного поста, который, надеюсь, позволит поклонникам его творчества лучше разобраться в тонкостях и нюансах скрипта Lasto Blog.
Не для кого не является секретом, что автор trifler.ru большой поклонник скриптов Мастера Lasto и в меру своих сил и возможностей довольно часто принимает не посредственное участие в дефолтном оформлении перечисленных скриптов и многих фишек, которые время от времени появляются в составе оных в качестве весьма полезных дополнений, модулей и плагинов.
Перебирая архивы своих изысков на ниве html и css, в частности коллекцию меню, выкладываю небольшую серию web-меню, где реализована идея древо-меню, но без графики.
Практически любое представленное меню, а в данном случае мы говорим о вертикальное меню, легко и не принужденно встраивается в указанные скрипты, для этого есть специальные файлы, в которых можно дать волю фантазии, присовокупив к ней необходимые стили.
Исключение файл меню nano-CMS, там нет привычного html-кода, и это накладывает определенные ограничения в случае, если вдруг надо будет подключить вертикальное меню с вложениями, но и тут можно выкрутиться, загнав меню в файл _add.php и выводить его переменной в нужное место файла _design.php.
Возможна интеграция всех меню представленных на скриншотах в скрипты – Gold Shop и MultiAgent, но это требует коррекции соответствующих файлов по html-коду, не забывая о css. В качестве примера, что это вполне реально, есть смысл совершить хадж на fixed.name, где меню лотов реализовано без использования графики.
Все скриншоты кликабельны и ведут на страничку с примером, более подробно представленные меню будут рассмотрены в соответствующем разделе trifler.ru.
Предложенное вашему вниманию при минимальном тюнинге стилей, применимо к любым web-страницам, о чем говорит полное отсутствие графики, что является несомненным плюсом.
Минимальная поддержка IE6(7) имеется, что не исключает возможности добиться практически полной визуальной идентичности редактированием стилей для них.