Регистрация
Регистрируясь, вы подтверждаете свое согласие с соглашением об использовании персональных данных.
Восстановление пароля

Помесячный вывод новостей

22.10.2010, 09:41
llkp
Ruslan Kimov

Зарегистрирован:
2010-08-23
Сообщений: 81

Добрый день.
Хотелось бы понять,как правильно отредактировать стандартный запрос.
Как вывести ссылку только на следующий месяц?
Как вывести по названиям месяцев,а не 10,11,12..?
Как сделать,чтобы при нажатии на ссылку новостей,открывался бы текущий месяц?
Пробовал подписывать через системные таблицы $f_Date_year/$f_Date_month,но не помогло.

Спасибо.
27.10.2010, 14:52
DiGGy
DiGGy
DiGGy

Зарегистрирован:
2005-04-04
Сообщений: 1546

> Как вывести ссылку только на следующий месяц?
В новостях должно быть поле даты. Тогда новости можно фильтровать так: http://mydomen.ru/news/2010/10/ - выведет все новости зя октябрь 2010 года. Соотв-но ваша задача состоит в том чтобы определить номер след. месяца и сгенерить ссылку http://mydomen.ru/news/2010/11/

> Как вывести по названиям месяцев,а не 10,11,12..?
В сист. настройках определяете массив:
$months=array("01" => "января","02" => "февраля","03" => "марта","04" => "апреля","05" => "мая","06" => "июня","07" => "июля","08" => "августа","09" => "сентября","10" => "октября","11" => "ноября","12" => "декабря");

и выводите его например вот так: $f_Date_day $months[$f_Date_month] $f_Date_year


> Как сделать,чтобы при нажатии на ссылку новостей,открывался бы текущий месяц?
Цитата:
Цитата:
Цитата:
если ссылка новостей - это раздел, то в настройках раздела напиши внешний урл: /news/?last=1
а в настройках компонента укажите:
if ($last) {$query_where = "a.Created like('2010.11%')";}

где 2010.11 - это сами при помощи пхп сформируйте год и требуемый месяц


Temet nosce...
30.10.2010, 00:15
llkp
Ruslan Kimov

Зарегистрирован:
2010-08-23
Сообщений: 81

DiGGy, спасибо,что откликнулись.

Сделал вот так:
Код:

$nowmonth=date('m');
$monthname=array("01" => "январь","02" => "февраль","03" => "марть","04" => "апрель","05" => "май","06" => "июнь","07" => "июль","08" => "август","09" => "сентябрь","10" => "октябрь","11" => "ноябрь","12" => "декабрь");
$nextmonth=$nowmonth+1;
$years=date('Y');
if($nowmonth==12) $nextmonth="01" and $years=$years+1;

Скажите,можно как-то улучшить/уменьшить код?

Цитата:

если ссылка новостей - это раздел, то в настройках раздела напиши внешний урл: /news/?last=1

а в настройках компонента укажите:

if ($last) {$query_where = "a.Created like('2010.11%')";}


Этот пример не работает. Ошибок не выдаёт,но и не отображает ни одно событие.
В чём может быть проблема?

Спасибо.
01.11.2010, 21:36
DiGGy
DiGGy
DiGGy

Зарегистрирован:
2005-04-04
Сообщений: 1546

я ж написал, что надо дату подставить, т.е. вместо 2010.11 - добавить то что вам надо, типа:
Код:

if ($last) {$query_where = "a.Created like('".date('Y.m')."')";}


Temet nosce...
03.11.2010, 17:49
llkp
Ruslan Kimov

Зарегистрирован:
2010-08-23
Сообщений: 81

Поменял Created на Date.
Код:
if ($last) {$query_where = " a.`Date` >= '$years-$nowmonth-01 00:00:00' AND a.`Date` <= '$years-$nextmonth-01 00:00:00' ";}
198 196 2010-11-03 17:49:40 10807
Описание проекта