Тема: Новый плагин News Manager
решил пока разместить всю информацию, которая накопилась на моем компе по этому плагину здесь:
пример здесь http://newsmanager.getsimplecms.ru/novosti/
скачать все необходимые плагины http://getsimplecms.ru/data/uploads/plu … anager.zip
ПОМНИТЕ!
в шаблоне для постов должен быть такой код
<?php get_header(false); ?>
он отключит каноническую ссылку
Параметры и функции
плагин News Manager Toolbar работает только с плагином SA GS Admin Toolbar
форма поиска, если есть желание использовать плагин I18N Search, то в придачу к нему требуется плагин I18N Search for News Manager Posts
<?php nm_search(); ?>
ссылки на последние статьи (количество задается в настройках)
<?php nm_list_recent(); ?>
архивы
<?php nm_list_archives(); ?>
в версии 3.3 будет доступен код со счетчиками и изменением формата даты
<?php nm_list_archives(array( 'showcount' => 1 )); ?>
<?php nm_list_archives(array( 'dateformat' => '%m.%Y' )); ?>
теги
<?php nm_tag_list(); ?>
<?php nm_list_tags(); ?>
в версии 3.3 будет доступен код со счетчиками и с присвоением класса активной ссылке
<?php nm_tag_list(array( 'classcurrent' => 'active' )); ?>
<?php nm_tag_list(array( 'showcount' => 1 )); ?>
<?php nm_tag_list(array( 'classcurrent' => 'active', 'showcount' => 1 )); ?>
теги шаблона для текущей страницы
<?php nm_post_slug(); ?>
<?php nm_post_url(); ?>
<?php nm_post_title(); ?>
<?php nm_post_excerpt(); ?>
<?php nm_post_image_url(); ?>
функции для выбора страниц и размещения чего-либо только на этих страницах
<?php if (nm_post_has_image()) { ?><img src="<?php nm_post_image_url(); ?>" /><?php } ?>
<?php if (nm_is_search()) { ?><p>Страница поиска</p><?php } ?>
<?php if (nm_is_single()) { ?><p>Полная страница</p><?php } ?>
<?php if (nm_is_site()) { ?><p>Страница новостей</p><?php } ?>
<?php if (nm_is_main()) { ?><p>Главная страница новостей</p><?php } ?>
<?php if (nm_is_home()) { ?><p>Главная страница</p><?php } ?>
<?php if (nm_is_archive()) { ?><p>Страница архива</p><?php } ?>
<?php if (nm_is_tag()) { ?><p>Страница тегов</p><?php } ?>
<?php if (nm_is_tag('первый тег')) { ?><p>Страница первого тега</p><?php } ?>
--------- ПОЛЬЗОВАТЕЛЬСКИЕ настройки ----------------------------------------
Дополнительные настройки
# Титлы - для отключения заголовка страницы в титлах (по умолчанию 1)
titleTag 0
# метатеги
autometad 1 метатег description
metaKeywordsTags 1 метатег keywords
# отключение ссылок в заголовках
titleLink 0
# обрезание анонса точно по количеству знаков, указанному в поле (по умолчанию 0 - полное слово в конце анонса)
breakwords 1
# прерывание анонса по тегу <hr> в статье, используется, если нужно прерывать не все статьи (по умолчанию 0)
more 1
для использования этой функции вам нужно в настройках сменить Режим отображения новостей: с Отрывок на Полный текст, а если вам нужна ссылка "Далее", то вы должны добавить еще и это
readmore 1
# определение тега заголовка статьи (по умолчанию h3)
markupTitle h4
# определение тега статьи, например article (по умолчанию div)
markupPost div
# разделитель тегов (по умолчанию пробел)
tagSeparator ", "
# порядок размещения полей (по умолчанию title,date,author,image,content,tags)
showFields date,author,title,image,content,tags
# позволяет показывать выбранный компонент (например tagline) внизу поста до закрывающего тега
componentBottomPost tagline
# позволяет показывать выбранный компонент (например tagline) после поста за закрывающим пост тегом
componentAfterPost tagline
# позволяет указать класс для изображения
imageClass grid
# ссылка на полную статью для изображения (по умолчанию 0)
imageLink 1
# добавить атрибут title к тегу изображения (по умолчанию 0)
imageTitle 1
# разрешить публикацию изображений с других сайтов (по умолчанию 0)
imageexternal 1
# название файла изображения загружаемого по умолчанию, если изображение не выбрано
imageDefault aren2.jpg
# добавить атрибуты width и height к тегу изображения
imageSizeAttr 1
#размер и обрезание изображений для полных статей, если включено "Да" в поле "Включать изображения в отрывки:"
single imageSize 300, 200, 1
single imagesize full - полное изображение
# размер и обрезание изображений для анонсов тегов
tag imageSize 90,90,1
# размер и обрезание изображений для анонсов архивов
archive imageSize 90,90,1
# показывать автора (по умолчанию 0), для показа не логина, а полного имени автора
showAuthor 1
defaultAuthor "Ваше имя"
# позволяет использовать пагинатор для тегов f - ЧПУ, d - динамические адреса
tagpagination f
# позволяет задать шаблон для полной статьи, отличный от шаблона, выбранного для страницы с анонсами статей (например fullpost.php)
single templateFile fullpost.php
# если вы хотите использовать старый способ навигации, используйте такой код
navOldNew 1
# если вы хотите использовать ссыки "Предыдущая страница" и "Следующая страница", но не хотите использовать цифры между ними, разместите такой код
navNumber 0
# если вы хотите отключить навигацию, используйте такой код
showNav 0
# пагинация
navMidSize - Минимальное количество ссылок на любой стороне текущей страницы (по умолчанию 2). Установите на очень большое число (например, 9999), если вы хотите, чтобы все элементы всегда видны.
navEndSize - Минимальное количество ссылок на любой из начала и конца списка ребер. (По умолчанию 1)
navFixSize - Исправлено количество видимых элементов. По умолчанию 1 (включено), 0, чтобы отключить. Если этот параметр включен, всегда отображает то же общее количество ссылок, по умолчанию 7 пунктов = (navMidSize + navEndSize) * 2 + 1
navEllipsis - Текст для многоточие. По умолчанию "..." можно использовать теги, например navEllipsis <span>...</span>
classNavEllipsis - позволяет настроить класс элементов многоточием. По умолчанию "ellipsis" (для class="ellipsis")
# настройки отображения для страниц тегов, архивов и поиска - 0 показывает полный текст
tag excerpt 0
archive excerpt 0
search excerpt 0
# все варианты страниц
main - главная страница новостей
single - полная новость
tag - страница тегов
archive - страница архивов
search - страница поиска
# если хотите добавить свои классы
classPost - класс для блока поста
classPostTitle - класс для заголовка поста
classPostTitleLink - класс для ссылки заголовка поста
classPostDate - класс для блока с датой
classPostAuthor - класс для блока с автором
classPostImage - класс для блока с изображением
classPostContent - класс для текста поста
classReadmore - класс для блока со ссылкой Далее
classReadmoreLink - класс для ссылки Далее
classPostTags - класс для блока с тегами
classGoBack - класс для блока со ссылкой Назад
classGoBackLink - класс для ссылки Назад
classPageNav - класс для пагинатора
Замена установок, определенных в языковом файле
PUBLISHED Напечатано
AUTHOR Написал:
TAGS Категории
ELLIPSIS ...
READ_MORE Далее
GO_BACK << На рпедыдущую страницу
OLDER_POSTS < Старые посты
NEWER_POSTS Новые посты >
PREV_TEXT ←
NEXT_TEXT →
SEARCH Поиск
FOUND Следующие сообщения были обнаружены:
NOT_FOUND К сожалению, ваш поиск не дал результатов.
NOT_EXIST Запрашиваемое сообщение не существует.
NO_POSTS Сообщений не найдено.
# Замена установок даты
DATE_FORMAT %A, %d %B %Y
MONTHLY_FORMAT %B %Y
YEARLY_FORMAT %Y
---------- gsconfig.php ---------------------------------------------------------------------
# Сохранение автора поста. Для отображения авторов на сайте, используйте пользовательские настройки showauthor и/или defaultauthor
define('NMSAVEAUTHOR', 1);
#сортировка изображений в папке date, name, size
define('NMIMAGESORT','size');
# Теги в нижнем регистре
define('NMLOWERCASETAGS', true);
# Размещение поля для выбора изображения
# 0 или FALSE : не отображается
# 1 : в "Настройках записи", первое поле
# 2 или TRUE : в "Настройках записи", последнее поле
# 3 : размещение поля над содержанием
# 4 : размещение поля под содержанием
define('NMIMAGEINPUT', 3);
# Папка для изображений
define('NMIMAGEDIR', 'newsimages');
# Не включать в sitemap.xml
define('NMNOSITEMAP', true);
# Переопределение названий ссылок постов, страниц пагинатора, страниц тегов и архивов. При использовании ЧПУ потребуется внесение изменений и в файл .htaccess
define('NMPARAMPOST', 'post');
define('NMPARAMPAGE', 'page');
define('NMPARAMTAG', 'tag');
define('NMPARAMARCHIVE', 'archive');
# Используя плагин NM Custom Authors можно задавать имена пользователям
$NMAUTHOR['admin'] = "Олег Светлов";
$NMAUTHOR['vasya'] = "Василий";
# Если хотите убрать промежуточную псевдородительскую страницу post (site.com/news/article1 вместо site.com/news/post/article1), следите за ссылками
define('NMNOPARAMPOST',true);
в файл .htaccess
RewriteRule ^news/([^/.]+)/?$ index.php?id=news&post=$1 [L]
# сейчас цифры в ссылках соответствуют цифрам в пагинаторе, если хотите использовать старый способ перехода по страницам, используйте такой код
define('NMFIRSTPAGE',0);
----------------------------------------------------------------
коды плагина News Manager Addons для показа последних новостей, используются в компонентах и в шаблонах
цифры - максимальная ширина, максимальная высота, обрезание
<?php nm_set_custom_image(100,100,1); ?>
количество знаков в анонсах последних новостей, отличное от заданного в настройках
<?php nm_set_custom_excerpt(123); ?>
количество постов, отличное от заданного в настройках
<?php nm_set_custom_maxposts(2); ?>
показывает последние новости с изображением
<?php nm_custom_display_recent('
<div class="my_recent_post">
<h4><a href="{{ post_link }}">{{ post_title }}</a></h4>
<div class="my_image">{{ post_image }}</div>
<span class="my_excerpt">{{ post_excerpt }}</span>
</div>
'); ?>
также можно использовать такой код, если нужно указать класс для изображения
<img src="{{ post_image_url }}" class="img-responsive">
заголовки новостей с датами
<?php nm_list_recent_with_date(); ?>
настраиваемые даты после заголовков новостей
<?php nm_list_recent_with_date(' - %d/%m/%Y'); ?>
настраиваемые даты перед заголовками новостей
<?php nm_list_recent_with_date('%d/%m/%Y - ', true); ?>
-------------------------------------------------------------------
плагин News Manager RSS
плагин скопировать в папку plugins, а файл rss.php из папки themefile скопировать в папку с вашей темой, затем создать страницу для размещения на ней вашего RSS-потока и выбрать для нее шаблон rss.php, далее, в настройках плагина в выпадающем списке выбрать эту страницу
------------------------------------------
ХЛЕБНЫЕ КРОШКИ плагина I18N для NewsManager
<ul class="breadcrumbs"><li itemscope="" itemtype="http://data-vocabulary.org/Breadcrumb"><a href="<?php echo find_url('index',null); ?>" itemprop="url"><span itemprop="title">Главная</span></a></li><?php get_i18n_breadcrumbs(return_page_slug()); ?><?php if (nm_is_single()) { ?><li class="separator">»</li><li itemscope="" itemtype="http://data-vocabulary.org/Breadcrumb"><span itemprop="title"><?php nm_post_title(); ?></span></li><?php } ?></ul>
------------------------------------------------------
выбор тегов в выпадающем списке
в файл functions.php
function nm_select_tags() {
echo '<form action="" method="post">';
echo '<select name="nmTAG" onchange="window.location.href= this.form.nmTAG.options[this.form.nmTAG.selectedIndex].value">';
echo '<option value="">Make a choice...</option>';
$tags = array();
foreach (nm_get_tags() as $tag=>$posts)
if (substr($tag, 0, 1) != '_')
$tags[$tag] = count($posts);
foreach ($tags as $tag=>$count) {
$url = nm_get_url('tag') . $tag;
$spaces = array('-','.');
echo '<option value="'.$url.'">'.str_replace($spaces," ",$tag).'</option>';
}
echo '</select></form>';
}
в сайдбар
<?php nm_select_tags(); ?>
Пример функции похожих по тегам постов
Создаем компонент nm-similar-posts
<?php
$num_post = 5;
$slugs = array();
$url = nm_get_url('post');
$posts = nm_get_tags();
foreach($posts as $tag => $post) {
if(nm_post_has_tag($tag)) {
foreach ($post as $slug) {
$slugs[] = (string)$slug;
}
}
}
$slugs = array_unique($slugs);
if(($key = array_search(nm_post_slug(false), $slugs)) !== false) {
unset($slugs[$key]);
}
shuffle($slugs);
$slugs = array_slice($slugs, 0, $num_post);
$all = nm_get_posts();
echo '<ul class="nm_similar_post">';
foreach ($all as $post) {
if(in_array($post->slug, $slugs)) {
echo '<li><a href="'.$url.$post->slug.'" title="'.$post->title.'">'.$post->title.'</a></li>', PHP_EOL;
}
}
echo '</ul>';
?>
В пользовательских настройках размещаем такой код
single componentBottomPost nm-similar-posts
где single - страница с полным текстом, componentBottomPost - размещение компонента внизу поста, nm-similar-posts - имя компонента
для изменения падежей месяцев
для пользовательских настроек
MONTHLIST Январь,Февраль,Март,Апрель,Май,Июнь,Июль,Август,Сентябрь,Октябрь,Ноябрь,Декабрь
MONTHLIST_ALT января,февраля,марта,апреля,мая,июня,июля,августа,сентября,октября,ноября,декабря
DATE_FORMAT %A, %e %EB %Y
----------------------
для языкового файла
"DATE_FORMAT" => "%e %EB %Y",
"MONTHLIST" => "Январь,Февраль,Март,Апрель,Май,Июнь,Июль,Август,Сентябрь,Октябрь,Ноябрь,Декабрь",
"MONTHLIST_ALT" => "января,февраля,марта,апреля,мая,июня,июля,августа,сентября,октября,ноября,декабря",