if ($f = mso_page_foreach('page-do')) { require $f; } if ($pages) { // только контент в чистом виде if (mso_get_val('page_content_only', false)) { foreach ($pages as $page) { if ($f = mso_page_foreach('page-content-only')) { require $f; continue; } echo $page['page_content']; } } else { // полноценный вывод $p = new Page_out(); $p->format('title', '<h1>', '</h1>', false); $p->format('date', 'D, j F Y г.', '<span><time datetime="[page_date_publish_iso]">', '</time></span>'); $p->format('cat', ' -> ', '<br><span>' . tf('Рубрика') . ': ', '</span>'); $p->format('tag', ' | ', '<br><span>' . tf('Метки') . ': ', '</span>'); //$p->format('feed', tf('Комментарии по RSS'), ' | <span>', '</span>'); $p->format('edit', 'Edit', ' | <span>', '</span>'); $p->format('view_count', '<br><span>' . tf('Просмотров') . ': ', '</span>'); foreach ($pages as $page) { if ($f = mso_page_foreach('page')) { require $f; // здесь комментарии if ($fn = mso_find_ts_file('type/page/units/page-comments.php')) { require $fn; } continue;
/* Файл: logo-block.php Название: «Лого, блок» Для блока используется ушка logo-block. Расположение: header CSS-стили: > @import url('components/logo-block.less'); PHP-связи: > if ($fn = mso_fe('components/logo-block/logo-block.php')) require($fn); */ $pt = new Page_out(); // подготавливаем объект для вывода // если в опции явно указан адрес лого, то берем его $logo = trim(mso_get_option('default_header_logo_custom', 'templates', false)); if (!$logo) { $logo = getinfo('stylesheet_url') . 'images/logos/' . mso_get_option('default_header_logo', 'templates', 'logo01.png'); } $logo = '<img src="' . $logo . '" alt="' . getinfo('name_site') . '" title="' . getinfo('name_site') . '">'; if (!is_type('home')) { $logo = $pt->link(getinfo('siteurl'), $logo); } // вывод $pt->div_start('logo-block', 'wrap'); $pt->div_start('r1'); $pt->html($logo); $pt->div_end('r1');
<?php if (!defined('BASEPATH')) { exit('No direct script access allowed'); } /* (c) MaxSite CMS, http://max-3000.com/ Вывод в подвале копирайтов и статистики. */ $pt = new Page_out(); // переделать на обычный html $pt->div('© ' . getinfo('name_site') . ', ' . date('Y'), 'copyright'); $pt->div_start('links-no-color hover-no-color'); $CI =& get_instance(); echo sprintf(tf('Работает на <a href="http://max-3000.com/">MaxSite CMS</a> | Время: {elapsed_time} | SQL: %s | Память: {memory_usage}'), $CI->db->query_count) . '<!--global_cache_footer--> | '; if (is_login()) { echo $pt->link(getinfo('siteurl') . 'admin', tf('Управление')) . ' | ' . $pt->link(getinfo('siteurl') . 'logout', tf('Выйти')); } else { echo $pt->link(getinfo('siteurl') . 'login', tf('Вход')); } $pt->div_end(''); # end file
if (!defined('BASEPATH')) { exit('No direct script access allowed'); } /* Файл: ns-descr-block.php Название: «Название сайта, описание, блок» Схематичный вид: Название Блок CSS-стили: var_style.less: > @import url('components/ns-descr-block.less'); PHP-связи: > if ($fn = mso_fe('components/ns-descr-block/ns-descr-block.php')) require($fn); */ $pt = new Page_out(); // подготавливаем объект для вывода $block = mso_get_option('ns-descr-block-block', 'templates', ''); // вывод $pt->div_start('ns-descr-block', 'wrap'); $pt->div_start('r1'); $pt->div($pt->name_site(), 'name_site'); $pt->div(getinfo('description_site'), 'description_site'); $pt->div_end('r1'); $pt->div($block, 'r2'); $pt->clearfix(); $pt->div_end('ns-descr-block', 'wrap'); # end file
exit('No direct script access allowed'); } /* (c) http://max-3000.com/ Файл: footer-copy-stat.php Расположение: footer CSS-стили: var_style.less: > @import url('components/footer-copy-stat.less'); PHP-связи: custom/header_components.php > if ($fn = mso_fe('components/footer-copy-stat/footer-copy-stat.php')) require($fn); */ $pt = new Page_out(); $pt->div_start('footer-copy-stat', 'wrap'); $pt->div('© ' . getinfo('name_site') . ', ' . date('Y'), 'copyright'); $pt->div_start('statistic'); $CI =& get_instance(); echo sprintf(tf('Работает на <a href="http://max-3000.com/">MaxSite CMS</a> | Время: {elapsed_time} | SQL: %s | Память: {memory_usage}'), $CI->db->query_count) . '<!--global_cache_footer--> | '; if (is_login()) { echo $pt->link(getinfo('siteurl') . 'admin', tf('Управление')) . ' | ' . $pt->link(getinfo('siteurl') . 'logout', tf('Выйти')); } else { echo $pt->link(getinfo('siteurl') . 'login', tf('Вход')); } $pt->div_end('statistic'); $pt->div_end('footer-copy-stat', 'wrap'); # end file
} /* Файл: logo-ns-descr-random-text.php Описание: Название и описание сайта слева. Справа случайные цитаты. Расположение: header Схематичный вид: (лого) Название сайта цитаты Описание PHP-связи: > if ($fn = mso_fe('components/logo-ns-descr-random-text/logo-ns-descr-random-text.php')) require($fn); */ $pt = new Page_out(); // подготавливаем объект для вывода // если в опции явно указан адрес лого, то берем его $logo = trim(mso_get_option('default_header_logo_custom', 'templates', false)); if (!$logo) { $logo = getinfo('stylesheet_url') . 'images/logos/' . mso_get_option('default_header_logo', 'templates', 'logo01.png'); } $logo = '<img src="' . $logo . '" alt="' . getinfo('name_site') . '" title="' . getinfo('name_site') . '">'; if (!is_type('home')) { $logo = $pt->link(getinfo('siteurl'), $logo); } // вывод $pt->div_start('logo-ns-descr-random-text', 'wrap'); $pt->div_start('r1'); $pt->html($logo); $pt->div_end('r1');
<?php if (!defined('BASEPATH')) { exit('No direct script access allowed'); } /** * MaxSite CMS * (c) http://max-3000.com/ */ if (!$pages) { return; } $p = new Page_out(); $p->format('title', mso_get_val('full_format_title_start', '<h2 class="mso-page-title">'), mso_get_val('full_format_title_end', '</h2>'), true); $p->format('date', 'D, j F Y ' . tf('г.'), '<span><time datetime="[page_date_publish_iso]">', '</time></span>'); $p->format('cat', ' -> ', '<br><span>' . tf('Рубрика') . ': ', '</span>'); $p->format('tag', ' | ', '<br><span>' . tf('Метки') . ': ', '</span>'); $p->format('feed', tf('Комментарии по RSS'), ' | <span>', '</span>'); $p->format('edit', 'Edit', ' | <span>', '</span>'); $p->format('view_count', '<br><span>' . tf('Просмотров') . ': ', '</span>'); $p->format('comments', tf('Обсудить'), tf('Читать комментарии'), '<div class="mso-comments-link"><span>', '</span></div>'); // исключенные записи $exclude_page_id = mso_get_val('exclude_page_id'); $p->div_start(mso_get_val('container_class', '')); foreach ($pages as $page) { if ($f = mso_page_foreach(getinfo('type'))) { require $f; // подключаем кастомный вывод continue; // следующая итерация }
exit('No direct script access allowed'); } /* Файл: date-menu2.php Название: «Дата и меню2» Расположение: header Схематичный вид: дата | Меню 2 PHP-связи: > if ($fn = mso_fe('components/date-menu2/date-menu2.php')) require($fn); */ $pt = new Page_out(); // подготавливаем объект для вывода // вывод $pt->div_start('date-menu2', 'wrap'); $pt->div_start('r1'); echo mso_date_convert('D, j F Y г.', date('Y-m-d H:i:s'), true, 'Понедельник Вторник Среда Четверг Пятница Суббота Воскресенье', 'января февраля марта апреля мая июня июля августа сентября октября ноября декабря'); $pt->div_end('r1'); $pt->div_start('r2'); if ($fn = mso_fe('components/menu2/menu2.php')) { require $fn; } $pt->div_end('r2'); $pt->clearfix(); $pt->div_end('date-menu2', 'wrap'); # end file
<?php if (!defined('BASEPATH')) { exit('No direct script access allowed'); } /** * MaxSite CMS * (c) http://max-3000.com/ */ if (!$pages) { return; } $p = new Page_out(); $p->format('title', '', '', true); $p->format('date', 'j F Y', '<span><time datetime="[page_date_publish_iso]">', '</time></span>'); // исключенные записи $exclude_page_id = mso_get_val('exclude_page_id'); $line_format = mso_get_val('list_line_format', '[title] - [date]'); $p->div_start(mso_get_val('container_class')); $p->html(NR2 . '<ul class="mso-pages-list">'); foreach ($pages as $page) { if ($f = mso_page_foreach(getinfo('type') . '-list')) { require $f; // подключаем кастомный вывод continue; // следующая итерация } $p->load($page); $p->line($line_format, NR2 . '<li>', '</li>'); $exclude_page_id[] = $p->val('page_id'); }
/* Файл: search-icons.php Название: «Поиск и иконки» Схематичный вид: [Поиск] (иконки) CSS-стили: var_style.less: > @import url('components/search-icons.less'); PHP-связи: > if ($fn = mso_fe('components/search-icons/search-icons.php')) require($fn); */ $pt = new Page_out(); // подготавливаем объект для вывода // вывод $pt->div_start('search-icons', 'wrap'); $pt->div_start('r1'); if ($fn = mso_fe('components/_search/_search.php')) { require $fn; } $pt->div_end('r1'); $pt->div_start('r2'); if ($fn = mso_fe('components/_social/_social.php')) { require $fn; } $pt->div_end('r3'); $pt->clearfix(); $pt->div_end('search-icons', 'wrap');
Описание: Слева название сайта, меню, справа произвольный блок Расположение: header Схематичный вид: Название Меню | Меню Блок CSS-стили: var_style.less: > @import url('components/ns-menu-block.less'); PHP-связи: > if ($fn = mso_fe('components/ns-menu-block/ns-menu-block.php')) require($fn); */ $pt = new Page_out(); // подготавливаем объект для вывода $name_site = mso_get_option('ns-menu-block-name_site', 'templates', getinfo('name_site')); $block = mso_get_option('ns-menu-block-block', 'templates', ''); if (!is_type('home')) { $name_site = $pt->link(getinfo('siteurl'), $name_site); } // вывод $pt->div_start('ns-menu-block', 'wrap'); $pt->div($name_site, 'r1'); $pt->div_start('r2'); if ($fn = mso_fe('components/_menu/_menu.php')) { require $fn; } $pt->div_end('r2'); $pt->div($block, 'r3');
<?php if (!defined('BASEPATH')) { exit('No direct script access allowed'); } /* Файл: menu-only.php Название: меню Описание: Одиночное меню, только в виде отдельного блока CSS-стили: var_style.less: > @import url('components/menu-only.less'); PHP-связи: > if ($fn = mso_fe('components/menu-only/menu-only.php')) require($fn); */ $pt = new Page_out(); // подготавливаем объект для вывода // вывод $pt->div_start('menu-only', 'wrap'); if ($fn = mso_fe('components/_menu/_menu.php')) { require $fn; } $pt->div_end('menu-only', 'wrap'); # end file
Описание: Слева меню, справа социконки Расположение: header Схематичный вид: Меню | Меню (иконки) CSS-стили: var_style.less: > @import url('components/menu-icons.less'); PHP-связи: > if ($fn = mso_fe('components/menu-icons/menu-icons.php')) require($fn); */ $pt = new Page_out(); // подготавливаем объект для вывода // вывод $pt->div_start('menu-icons', 'wrap'); $pt->div_start('r1'); if ($fn = mso_fe('components/_menu/_menu.php')) { require $fn; } $pt->div_end('r1'); $pt->div_start('r2'); if ($fn = mso_fe('components/_social/_social.php')) { require $fn; } $pt->div_end('r2'); $pt->clearfix(); $pt->div_end('menu-icons', 'wrap');
public function output($r = array()) { if (!$this->pages) { return; } // нет записей, выходим // дефолтный формат вывода $default = array('title_start' => '<h3 class="home-last-page">', 'title_end' => '</h3>', 'date' => 'D, j F Y г. в H:i', 'date_start' => '<span class="date"><time datetime="[page_date_publish_iso]">', 'date_end' => '</time></span>', 'cat_start' => ' | <span class="cat">', 'cat_end' => '</span>', 'cat_sep' => ', ', 'tag_start' => ' | <span class="tag">', 'tag_end' => '</span>', 'tag_sep' => ', ', 'author_start' => '', 'author_end' => '', 'read' => '»»»', 'read_start' => '', 'read_end' => '', 'comments_count_start' => '', 'comments_count_end' => '', 'thumb' => true, 'thumb_width' => 320, 'thumb_height' => 180, 'thumb_class' => 'thumb left', 'placehold' => false, 'placehold_path' => 'http://placehold.it/', 'placehold_pattern' => '[W]x[H].png', 'placehold_file' => false, 'placehold_data_bg' => '#CCCCCC', 'block_start' => '', 'block_end' => '', 'line1' => '[thumb]', 'line1_start' => '', 'line1_end' => '', 'line2' => '[title]', 'line2_start' => '', 'line2_end' => '', 'line3' => '[date] [cat]', 'line3_start' => '<p class="home-last-page-info">', 'line3_end' => '</p>', 'line4' => '', 'line4_start' => '', 'line4_end' => '', 'line5' => '', 'line5_start' => '', 'line5_end' => '', 'content' => true, 'content_chars' => 0, 'content_words' => 0, 'content_cut' => ' ...', 'content_start' => '<div class="mso-page-content">', 'content_end' => '</div>', 'columns' => 0, 'columns_class_row' => 'onerow', 'columns_class_cell' => 'col w1-2', 'clearfix' => false, 'page_start' => '', 'page_end' => '', 'pagination_start' => '', 'pagination_end' => '', 'box_grid' => 0, 'box_grid_class' => 'w50', 'box_grid_box_class' => 'table-box', 'exclude_page_add' => true); $r = array_merge($default, $r); // объединяем // $r = array_map('trim', $r); $p = new Page_out(); // шаблонизатор // echo $r['block_start']; eval(mso_tmpl_prepare($r['block_start'], false)); // формат записи $p->format('title', $r['title_start'], $r['title_end']); $p->format('date', $r['date'], $r['date_start'], $r['date_end']); $p->format('author', $r['author_start'], $r['author_end']); $p->format('cat', $r['cat_sep'], $r['cat_start'], $r['cat_end']); $p->format('tag', $r['tag_sep'], $r['tag_start'], $r['tag_end']); $p->format('read', $r['read'], $r['read_start'], $r['read_end']); $p->format('comments_count', $r['comments_count_start'], $r['comments_count_end']); if ($r['exclude_page_add']) { $exclude_page_id = mso_get_val('exclude_page_id'); } if ($r['columns']) { $my_columns = new Columns($r['columns'], count($this->pages), $r['columns_class_row']); } if ($r['box_grid']) { $p->box_grid($r['box_grid']); } foreach ($this->pages as $page) { $p->load($page); // загружаем данные записи if ($r['box_grid']) { $p->box_grid_cell($r['box_grid_class'], $r['box_grid_box_class']); } if ($r['columns']) { $my_columns->out($r['columns_class_cell']); } // echo $r['page_start']; eval(mso_tmpl_prepare($r['page_start'], false)); if ($r['thumb']) { // плейсхолд if ($r['placehold']) { if ($r['placehold_file']) { if ($r['placehold_file'] == 'data') { // сами генерируем плейсхолд // mso_holder($width = 100, $height = 100, $text = true, $background_color = '#CCCCCC', $text_color = '#777777', $font_size = 5) $t_placehold = mso_holder($r['thumb_width'], $r['thumb_height'], false, $r['placehold_data_bg']); } else { $t_placehold = $r['placehold_path'] . $r['placehold_file']; } } else { $t_placehold_pattern = str_replace('[W]', $r['thumb_width'], $r['placehold_pattern']); $t_placehold_pattern = str_replace('[H]', $r['thumb_height'], $t_placehold_pattern); $t_placehold_pattern = str_replace('[RND]', rand(1, 10), $t_placehold_pattern); $t_placehold = $r['placehold_path'] . $t_placehold_pattern; } } else { $t_placehold = false; } if ($thumb = thumb_generate($p->meta_val('image_for_page'), $r['thumb_width'], $r['thumb_height'], $t_placehold)) { $p->thumb = '<a href="' . mso_page_url($p->val('page_slug')) . '" title="' . htmlspecialchars($p->val('page_title')) . '"><img src="' . $thumb . '" class="' . $r['thumb_class'] . '" alt="' . htmlspecialchars($p->val('page_title')) . '"></a>'; } } $p->line($r['line1'], $r['line1_start'], $r['line1_end']); $p->line($r['line2'], $r['line2_start'], $r['line2_end']); $p->line($r['line3'], $r['line3_start'], $r['line3_end']); if ($r['content']) { if ($r['content_chars']) { $p->content_chars($r['content_chars'], $r['content_cut'], $r['content_start'], $r['content_end']); // текст обрезанный } elseif ($r['content_words']) { $p->content_words($r['content_words'], $r['content_cut'], $r['content_start'], $r['content_end']); // текст обрезанный } else { $p->content($r['content_start'], $r['content_end']); } } $p->line($r['line4'], $r['line4_start'], $r['line4_end']); $p->line($r['line5'], $r['line5_start'], $r['line5_end']); if ($r['clearfix']) { $p->clearfix(); } // echo $r['page_end']; eval(mso_tmpl_prepare($r['page_end'], false)); if ($r['columns']) { $my_columns->next(); } if ($r['box_grid']) { $p->box_grid_next(); } // сохраняем id записей, чтобы их исключить из вывода if ($r['exclude_page_add']) { $exclude_page_id[] = $p->val('page_id'); } } if ($r['columns']) { $my_columns->close(); } if ($r['box_grid']) { $p->box_grid_end(); } if ($r['exclude_page_add']) { mso_set_val('exclude_page_id', $exclude_page_id); } if ($this->param['pagination']) { if (mso_hook_present('pagination')) { // echo $r['pagination_start']; eval(mso_tmpl_prepare($r['pagination_start'], false)); mso_hook('pagination', $this->pagination); // echo $r['pagination_end']; eval(mso_tmpl_prepare($r['pagination_end'], false)); } } // echo $r['block_end']; eval(mso_tmpl_prepare($r['block_end'], false)); }
Описание: Слева меню, справа логин-форма Расположение: header Схематичный вид: Меню | Меню логин CSS-стили: var_style.less: > @import url('components/menu-login.less'); PHP-связи: > if ($fn = mso_fe('components/menu-login/menu-login.php')) require($fn); */ $pt = new Page_out(); // подготавливаем объект для вывода // вывод $pt->div_start('menu-login', 'wrap'); $pt->div_start('r1'); if ($fn = mso_fe('components/_menu/_menu.php')) { require $fn; } $pt->div_end('r1'); $pt->div_start('r2'); if ($fn = mso_fe('components/_login/_login.php')) { require $fn; } $pt->div_end('r2'); $pt->clearfix(); $pt->div_end('menu-login', 'wrap');
Описание: Слева меню, справа форма поиска Расположение: header Схематичный вид: Меню | Меню [Поиск] CSS-стили: var_style.less: > @import url('components/menu-search.less'); PHP-связи: > if ($fn = mso_fe('components/menu-search/menu-search.php')) require($fn); */ $pt = new Page_out(); // подготавливаем объект для вывода // вывод $pt->div_start('menu-search', 'wrap'); $pt->div_start('r1'); if ($fn = mso_fe('components/_menu/_menu.php')) { require $fn; } $pt->div_end('r1'); $pt->div_start('r2'); if ($fn = mso_fe('components/_search/_search.php')) { require $fn; } $pt->div_end('r2'); $pt->clearfix(); $pt->div_end('menu-search', 'wrap');