1

Тема: Новый плагин News Manager

решил пока разместить всю информацию, которая накопилась на моем компе по этому плагину здесь:
пример здесь http://getsimple.business-website.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
# позволяет использовать пагинатор для тегов 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 &larr;
NEXT_TEXT &rarr;
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">&raquo;</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" => "января,февраля,марта,апреля,мая,июня,июля,августа,сентября,октября,ноября,декабря",
Поддержать GetSimple CMS по-русски ЯДом

Сайт olsv64

Поделиться

2

Re: Новый плагин News Manager

вот и пагинатор заработал, обновлен языковой файл

Поддержать GetSimple CMS по-русски ЯДом

Сайт olsv64

Поделиться

3 (2014-06-21 02:09:58 отредактировано oxana)

Re: Новый плагин News Manager

Олег, я правильно понимаю, что с помощью ньюсменеджера можно сделать полноценный блог?
Что-то у меня никак руки не дойдут до его изучения. Объем информации пугает )))
Раздел "Архивы" в садбаре через него сделан? Или это от i18n Search?

Поделиться

4

Re: Новый плагин News Manager

все сделано ньюз менеджером, с i18n Search только поиск по сайту - проба плагина I18N Search for News Manager Posts, Карлос говорил, что 1000 постов легко держит

Поддержать GetSimple CMS по-русски ЯДом

Сайт olsv64

Поделиться

5

Re: Новый плагин News Manager

То, что я сказал: если GetSimple может работать с 1000 страниц в сервере, то News Manager должны быть в состоянии работать с 1000 новостных статей в этом сервере.
--
What I said is: if GetSimple can work with 1000 pages in a server, then NM should be able to work with 1000 news articles in that server.

Я использую автоматический перевод. Прости мои ошибки.

Поделиться

6 (2014-06-25 12:22:51 отредактировано Carlos)

Re: Новый плагин News Manager

News Manager 3.0 выпущен
http://get-simple.info/extend/plugin/ne … dated/541/

olsv64, Большое спасибо за тестирование

Я использую автоматический перевод. Прости мои ошибки.

Поделиться

7

Re: Новый плагин News Manager

есть ли желающие попробовать перевести документацию к этому классному плагину? имя и прямую ссылку на сайт гарантирую
http://www.cyberiada.org/cnb/news-manager-b/

Поддержать GetSimple CMS по-русски ЯДом

Сайт olsv64

Поделиться

8

Re: Новый плагин News Manager

Если до осени никто не подпишется, я возьмусь ориентировочно в октябре-ноябре только. Пока со временем беда.

Подписи нет

Поделиться

9

Re: Новый плагин News Manager

При включенном ЧПУ  не работает полный вывод новости. О подобной проблеме писали уже здесь Плагин News Manager Все делал как и описано, изменения в .htaccess вносил, однако безрезультатно. С выключенным ЧПУ все работает.

Поделиться

10

Re: Новый плагин News Manager

попробуйте включить в шаблоне для новостей вместо <?php get_header(); ?> - <?php get_header(false); ?>

Поддержать GetSimple CMS по-русски ЯДом

Сайт olsv64

Поделиться

11 (2014-07-21 13:16:37 отредактировано Carlos)

Re: Новый плагин News Manager

@user
Вы можете разместить здесь (или PM) какие изменения были внесены в ваш .htaccess, либо полный файл .htaccess?

@olsv64
Что только полезно для SEO

Я использую автоматический перевод. Прости мои ошибки.

Поделиться

12

Re: Новый плагин News Manager

здесь http://getsimplecms.ru/plaginy-dlya-get … -manager/, к сожалению, пока размещено описание старого плагина, полное описание здесь http://www.cyberiada.org/cnb/news-manager-b/

Поддержать GetSimple CMS по-русски ЯДом

Сайт olsv64

Поделиться

13

Re: Новый плагин News Manager

Carlos пишет:

@user
Вы можете разместить здесь (или PM) какие изменения были внесены в ваш .htaccess, либо полный файл .htaccess?

AddDefaultCharset UTF-8
Options -Indexes

# blocks direct access to the XML files - they hold all the data!
<Files ~ "\.xml$">
    Order allow,deny
    Deny from all
    Satisfy All
</Files>
<Files sitemap.xml>
        Order allow,deny
    Allow from all
    Satisfy All
</Files>

RewriteEngine on

# Usually it RewriteBase is just '/', but 
# replace it with your subdirectory path
RewriteBase /

# News Manager:
RewriteRule ^**PREFIX**tag/([^/.]+)/?$ index.php?**PAGE**tag=$1 [L]
RewriteRule ^**PREFIX**post/([^/.]+)/?$ index.php?**PAGE**post=$1 [L]
RewriteRule ^**PREFIX**page/([^/.]+)/?$ index.php?**PAGE**page=$1 [L]
RewriteRule ^**PREFIX**archive/([^/.]+)/?$ index.php?**PAGE**archive=$1 [L]
# end News Manager

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ([A-Za-z0-9-]+).html index.php?id=$1 [QSA,L]

Такой вид имеет .htaccess
При открытии страницы новостей ссылка выглядит примерно так: http://mysite/news.html/news1/ Причем .html добавляется не в конце, как по идее должно быть. Без ЧПУ все работает нормально. Я пока еще не пробовал, но попытаюсь убрать .html Может из за этого и не открывается полная новость. По результатам скажу как получилось.

Поделиться

14

Re: Новый плагин News Manager

да, похоже именно из-за .html и не работает

Поддержать GetSimple CMS по-русски ЯДом

Сайт olsv64

Поделиться

15

Re: Новый плагин News Manager

Во-первых, вы не измените строки **PREFIX** и **PAGE** - префикс и слизень новостей страницы.

В любом случае, даже если вы это делаете, это не будет работать. Менеджер новостей в настоящее время не поддерживает URL-адреса после окончания в .html (или любой другой суффикс)

Я думаю, что если у вас есть постоянная структура Окончание в .html, News Manager может работать только с non-fancy URL-адреса, поэтому пост URL-адрес:
SITE/news.html?post=news1

Я планирую добавить поддержку более настраиваемые URL-адреса для будущей версии, но я не могу сказать вам, когда это будет, извините.

Я использую автоматический перевод. Прости мои ошибки.

Поделиться

16

Re: Новый плагин News Manager

Не знаю отчего, но rss не везде работает корректно. У себя проверял на лисе, опере и ие 10 (вин 7) все работает отлично. На андроиде хорошо работает только в опере. На хроме (вин 7), андроид лиса, боат и какой то штатный, rss показывает исходный код.

Поделиться

17

Re: Новый плагин News Manager

А может кто-то подсказать простой способ организовать категории? Только не тегами <?php nm_tag_list(); ?>.

Поделиться

18

Re: Новый плагин News Manager

это плагин новостей, он категориями не располагет, попробуйте плагин http://getsimplecms.ru/plaginy-dlya-get … 8n-search/
или воспользуйтесь плагинами серии I18N

Поддержать GetSimple CMS по-русски ЯДом

Сайт olsv64

Поделиться

19

Re: Новый плагин News Manager

user пишет:

Не знаю отчего, но rss не везде работает корректно. У себя проверял на лисе, опере и ие 10 (вин 7) все работает отлично. На андроиде хорошо работает только в опере. На хроме (вин 7), андроид лиса, боат и какой то штатный, rss показывает исходный код.

не обратил внимания на ваш пост ранее. браузеры webkit отображают только код страницы http://habrahabr.ru/post/54531/, от них можно скрывать кнопку RSS таким кодом

@media screen and (-webkit-min-device-pixel-ratio:0) {

.rss {
    display : none;
}
}

есть какая-то штука https://chrome.google.com/webstore/deta … lcdlnohgmp
я ее установил - работает так https://www.dropbox.com/s/1jhla7ijj1ped … 2.png?dl=0

Поддержать GetSimple CMS по-русски ЯДом

Сайт olsv64

Поделиться

20 (2014-08-28 13:39:25 отредактировано user)

Re: Новый плагин News Manager

Олег спасибо за код, воспользуюсь. Можно ли самому устанавливать авторов новостей, если автор один, администратор например? Т.е. я пишу посты, а отображаются они как бы от разных людей. Как к примеру вывести $NMAUTHOR['vasya'] = "Василий"; если его нет на самом деле? И еще подсажите, у меня анонс выводится так:

<?php nm_set_custom_excerpt(320); ?>
<?php nm_set_custom_maxposts(5); ?>
<?php nm_set_custom_image(120,100,0); ?>
<?php nm_custom_display_recent('
<div class="my-recent">
<h4><a href="{{ post_link }}">{{ post_title }}</a></h4>
<span class="my_ddd">Опубликовано {{ post_date }}</span><br />
<section class="my_excerpt">{{ post_image }} {{ post_excerpt }}</section>
</div>
'); ?>

Как сюда <span class="my_ddd">Опубликовано: {{ post_date }}</span> добавить автора? И можно ли сделать изображение в кратком анонсе (именно в этом коде) ссылкой на статью? Спасибо.

Поделиться

21

Re: Новый плагин News Manager

код с изображением

<h3>News Manager Addons</h3>
<?php nm_set_custom_image(80,80,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>
      <p class="nm_post_date">{{ post_date }}</p>
      {{ post_image }}
      <div class="my_excerpt">{{ post_excerpt }}</div>
   </div>
'); ?>

а вот про автора ничего не скажу, полюбопытствуйте у Карлоса

Поддержать GetSimple CMS по-русски ЯДом

Сайт olsv64

Поделиться

22

Re: Новый плагин News Manager

Я наверное неверно сформулировал вопрос. Изображение я догадался как вставить (см. мой код, все работает), но как его сделать ссылкой? Т.е. при клике на изображении открывается страница с полной новостью (как это сделано на странице с новостями)

Поделиться

23

Re: Новый плагин News Manager

<a href="{{ post_link }}">{{ post_image }}</a>
Поддержать GetSimple CMS по-русски ЯДом

Сайт olsv64

Поделиться

24

Re: Новый плагин News Manager

про авторов - вы можете использовать плагин мультиюзер и заходить от имени каждого автора по очереди

Поддержать GetSimple CMS по-русски ЯДом

Сайт olsv64

Поделиться

25

Re: Новый плагин News Manager

olsv64 пишет:

про авторов - вы можете использовать плагин мультиюзер и заходить от имени каждого автора по очереди

Да, это вариант) Спасибо за помощь!

Поделиться