Не зарегистрирован
Вход
Забыли пароль?
Регистрация
Подписаться
Сэкономьте время — перед вопросом на форуме узнайте, как найти ответ быстрее
По техническим проблемам необходимо обращаться в Консультационный центр

Поиск по форуму: 

Приглашаем в блог Amiro.CMS. Регулярные обзоры, опыт, решения, практикумы.

Форум  ->   Разработка плагинов, вопросы по API  ->  Генерация ссылки на новость, в зависимости от года создания.

Раздел для разработчиков. Обсуждение создания плагинов, вопросы и пожелания по API Amiro.CMS

Добавлено: 27.05.15 16:18:30 #1



Регистрация: 27.05.15
Сообщений: 5


Обратиться по имени

Здравствуйте. Стоит Amiro 6.
При создании новостей ссылки генеринуются таким образом
/ссылка_модуля/ссылка_новости/
Интересует возможно ли реализовать так, что бы ссылка зависела от года создания новости.
Пример
/ссылка_модуля-год_создания/ссылка_новости/ ,
или так
/ссылка_модуля/год_создания/ссылка_новости/



Добавлено: 29.05.15 15:19:45 #2



Регистрация: 22.10.12
Сообщений: 73


Обратиться по имени

В настройках модуля есть опция "Добавлять префикс-дату к ссылкам", если ее включить, то сгенерированные ссылки будут иметь вид "2015-05-29/item".

Есть также возможность реализации своего генератора ссылок.



Добавлено: 03.06.15 13:50:40 #3



Регистрация: 27.05.15
Сообщений: 5


Обратиться по имени

Спасибо, я то я уже свой велосипед запилил, с перехватом и перезапесью get запроса.)) Только вот какой то глюк, в место "Y-m-d" хотелось бы просто год вывести. Изменяю код в admin_functions тишина, даже внутри \_shared\code\classes\Admin.php
[C]
if (!empty($this->Module->Name) && ($this->Module->Name != I7813) && $this->Core->IssetModOption($this->Module->Name, "add_date_prefix") {
if ($this->Core->GetModOption($this->Module->Name, "add_date_prefix") {
$prefixDate = null;
if ($IllLL11) {
$prefixDate = $IllLL11;
} elseif (isset($this->Vars["date"])) {
$prefixDate = $this->Vars["date"];
}$ll1I1II = DateTools::getCorrectUDate($prefixDate, $this->DFMT[I7796]);
$res = date(I7834, $ll1I1II) . '/' . $res;
}
}
[/C]

код меня, все равно не отрабатывает.
Не подскажете с чем это может быть связанно?
P.S
Код admin_functions скинул бы, но все очистит, и оставил с "Y-m-d".



Добавлено: 03.06.15 16:07:00 #4



Регистрация: 26.05.08
Сообщений: 984


Обратиться по имени

ИМХО, в контексте Системы, написанное - говнокод.
Думаю, надо цепляться на событие модуля, а-ля v5_on_item_prepare, и уже там менять ссылку.



Добавлено: 04.06.15 10:15:51 #5



Регистрация: 27.05.15
Сообщений: 5


Обратиться по имени

Короче от меня другого хотели .
Типа в зависимости от news/year список новостей созданные в этом году.
Такое можно реализовать?
Евгений Лапин:
Думаю, надо цепляться на событие модуля, а-ля v5_on_item_prepare, и уже там менять ссылку.

Спасибо за новодку, буду копать



Добавлено: 04.06.15 13:58:00 #6

Амиро



Регистрация: 21.03.07
Сообщений: 258


Обратиться по имени

Вложенные подкатегории поддерживаются только в модулях "Каталог товаров", "База знаний" и "Портфолио", для инфолент такой возможности не заложено в базовой функциональности.



Добавлено: 04.06.15 16:29:38 #7



Регистрация: 27.05.15
Сообщений: 5


Обратиться по имени

Антон:
Вложенные подкатегории поддерживаются только в модулях "Каталог товаров", "База знаний" и "Портфолио", для инфолент такой возможности не заложено в базовой функциональности.


Жалко, в голове просто все так просто просиходит)))
Контроллер новостей перехватывает запрос,
"Берет" оттуда год, потом после (или во время) запроса к модели, отбросить записи с "не правильной " датой ,
А потом уже выплевывать нужное))



Добавлено: 04.06.15 18:48:44 #8



Регистрация: 27.05.15
Сообщений: 5


Обратиться по имени

Есть какие то варианты что бы скопировать модуль новостей, и изменить его?
Что бы не создавать отдельный плагин?



Добавлено: 10.06.15 10:18:13 #9

Амиро


Регистрация: 22.06.10
Сообщений: 918


Обратиться по имени

Ahiles3005:
Есть какие то варианты что бы скопировать модуль новостей, и изменить его?
Что бы не создавать отдельный плагин?

Чем не подходит установка ещё одной инфоленты?

+ в редакциях "Бизнес", "Витрина" и "Корпоративный" можно создать несколько страниц, установив на них один и тот же модуль(инфоленту): http://www.amiro.ru/product/amiro.cms/features/site#9



Ответы на большинство вопросов можно найти в базе знаний и в документации.


Создать новую тему

Всего тем: 6630
Всего сообщений: 27746
Всего зарегистрированных пользователей: 48913
Последний зарегистрированный пользователь: user52029783