форум общения русскоязычных пользователей CMS Текстпаттерн
Вы не зашли.
Нужно сделать следующее
При переходе например к /news/2006/05/22/ там будут отображаться новости за этот день
при переходе к /news/2006/05/ новости за месяц
Новостей в день предполагается публиковать не одну, поэтому такой способ организации архива был бы очень желательным.
Это реально сделать или есть только один вариант - вывод через специальную архивную секцию?
Неактивен
Для этого есть разные плагины. У меня стоит rss_suparchive - http://www.wilshireone.com/txp/download … 0.16.1.php
Неактивен
Выводится будет в любой секции, какую зададите. Только нужно где-то меню создать (см. теги в хелпе к плагину).
Неактивен
[CPR]-AL.exe написал:
У меня стоит rss_suparchive
Кстати, а вот поставил я этот плагин, он действительно выводит список публикаций по датам, но отбор этих публикаций не происходит! Txp игнорирует урл вида /news/2006/05/22/, может еще нужно что-то прописать в настройку модуля mod_rewrite, или в шаблон вывода списка статей?
Неактивен
У мне сейчас как раз такой архив нужен:
2001
Январь Февраль Март
2002
Январь Февраль Март
...
2013
Январь Февраль
Кто нибудь разбирался с данным архивом что нибудь делали? Я сижу, установил плагин, да вот только только не все так хорошо
2013 (3) 2001 (2)
Январь 2013 (3) Март 2001 (1) Февраль 2001 (1)
В данном списке все месяца, а как сделать что при нажатии на определенный год открывались только месяца данного года, а вот уже при нажатии на месяц открывались новости данного месяца? С этим проблема ...
Я что то даже не нашел места где к примеру можно указать, что бы он открывал допустим только за определенный период ...
что то все
Романтик написал:
[CPR]-AL.exe написал:
У меня стоит rss_suparchive
Кстати, а вот поставил я этот плагин, он действительно выводит список публикаций по датам, но отбор этих публикаций не происходит! Txp игнорирует урл вида /news/2006/05/22/, может еще нужно что-то прописать в настройку модуля mod_rewrite, или в шаблон вывода списка статей?
Неактивен
Ну вот, решил свою проблему.
Правда немного как мне кажется по мутантский ...
Как известно мне нужно было сделать следующее
2001
Январь Февраль Март Апрель ... Декабрь
2002
Январь Февраль Март Апрель ... Декабрь
...
2013
Январь Февраль
1. Установил плагин - rss_suparchive (http://www.wilshireone.com/textpattern- … suparchive)
На самом сайте автора плагина, есть много информации о данном плагине, можно будет прочитать, там даже есть примеры - http://www.wilshireone.com/resources#sa3
2.Сам плагин позволяет получить года и выводит их успешно (можно всякого разного добавить для вывода либо ГОД либо МЕСЯЦ и т.д. и т.п.)
<txp:rss_suparchive_menu section="news" mode="YEAR" showcount="0" linktosection=news/>
3. Далее выводим так сказать контент данного года (все там же ниже):
<txp:rss_suparchive section="news" form="ListformNews"/>
4. Далее я немного намутил с JavaScript:
<ul class="rssMenu" id="Label65" style="margin: 5px 0px 0px 0px"></ul>
<script language="JavaScript" type="text/javascript">
/*<![CDATA[*/
//Получили текущий номер месяца
date = new Date().getMonth()+1;
var month_en = ['', 'January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'];
var month_ru = ['', 'Январь', 'Февраль', 'Март', 'Апрель', 'Май', 'Июнь', 'Июль', 'Август', 'Сентябрь', 'Октябрь', 'Ноябрь', 'Декабрь'];
var month_kk = ['', 'Қаңтар', 'Ақпан', 'Наурыз', 'Сәуір', 'Мамыр', 'Маусым', 'Шілде', 'Тамыз', 'Қыркүйек', 'Қазан', 'Қараша', 'Желтоқсан'];
//Получили полный путь сайта
var siteUrl = document.location.href;
//Получили языковую версию
var getPos = siteUrl.indexOf(".me/")+4;
var lang = siteUrl.substring(getPos, getPos+2); // ru/kz/en
//Получили год из архива
var getYear = siteUrl.indexOf("/news/")+6;
var pageYear = siteUrl.substring(getYear, getYear+4); // ru/kz/en
var outdate = "";
var outlangmonth = "";
var outHtml = "";
for (i=1;i<=date;i++)
{
//определяемся с языком
switch (lang)
{
case "ru":
outlangmonth = month_ru[i];
break
case "en":
outlangmonth = month_en[i];
break
case "kk":
outlangmonth = month_kk[i];
break
default:
outlangmonth = month_ru[i];
break
}
//создаем месяц
if (i <= 9) {outdate = "0"+i;}
outHtml += '<li><a href=http://451.textpattern.me/'+lang+'/news/'+pageYear+'/'+outdate+'/>'+outlangmonth+'</a></li>';
}
document.getElementById("Label65").innerHTML = outHtml;
/*]]>*/
</script>
Как выяснелось если указать путь /news/2013/02 т.е. секция/год/месяц/ - то он выведет все новости только за данный период (месяц), чего и требовалось нам ...
При нажатии на год, мы создаем месяца с 1 по 12, после нажатия на месяц мы получаем все новости за данный месяц.
Единственное у меня новости в каждом месяце, поэтому я не парился с выводами месяцев, могут быть и месяце без новостей, просто выйдет пустая страничка.
)))
Неактивен