Вы не зашли.
Я вот что подумал. Походу плагин nsched работает именно с функционалом редактирования (добавления) новости. И по сути он ставит и убирает "галку" в указанном месте в указанное время.
Вот значит на основании этих недалёких и приземлённых размышлений, мне пришла такая мысль. А может можно как-то "лёгким движением руки" путём замены каких-то параметров, научить этот плагин ставить (убирать) "галку" не на публикации новости, а на её закреплении? Причём, если не особо проблематично, то сделать так, чтобы и родной плагин работал, и типа на базе родного сделать ещё и для закрепления новости по расписанию. Ну, а если сложно, то просто внести правки в nsched.
Ведь по сути он выполняет ту же задачу, только с другим параметром
Изменено Vaha (2011-12-16 21:49:08)
Не в сети
Vaha, если делать доработку плагина, то потребуется его сильно переделывать (тогда уж нужна поддержка изменения любого набора параметров по расписанию).
Могу предложить такой вариант - сделай клон плагина nsched (как ты и предлагал), но клон отвечающий за прикрепление новостей.
Алгоритм:
1. Копируешь содержимое каталога engine/plugins/nsched/ в engine/plugins/nxsched/
2. В файле version исправляешь имя плагина с nsched на nxsched
3. В install.php/uninstall.php/config.php также меняешь nsched на nxsched
4. В nsched.php меняешь все nsched на nxsched, находишь строки:
// Запускаем модификацию новостей
if (count($listActivate)) {
massModifyNews(array('data' => $dataActivate), array('approve' => 1, 'nsched_activate' => ''), false);
}
if (count($listDeactivate)) {
massModifyNews(array('data' => $dataDeactivate), array('approve' => 0, 'nsched_deactivate' => ''), false);
}
и в них заменяешь approve на pinned
5. В админке (engine/skins/default/tpl/ add.tpl и edit.tpl после строки:
{% if (pluginIsActive('nsched')) %}{{ plugin.nsched }}{% endif %}
добавляешь аналогичную с nxsched.
Всё, на первый взгляд у тебя должен получиться корректно работающий клон, который позволит по расписанию управлять галочкой "прикреплено".
Не в сети
vitaly, спасибо. Я для себя пока что просто решил вопрос изменением approve на pinned. Просто вроде как пока не планируется пользоваться отложенной публикацией новостей. Но вообще, на будущее, думаю, всё может пригодится. Да и для других пользователей движка - это отличный мануал для расширения возможностей плагина nsched путём создания на его базе плагинов с новым функционалом.
Правда я думаю, что особо не стОит увлекаться и вешать большое число таких плагинов. Ибо походу они ж создают доп нагрузку на хостинг (особенно, если установить короткий интервал проверки состояния в настройках).
Не в сети
Потому что надо пользоваться не самопальной заменой cron, а обычным серверным cron'ом, тогда плагин будет загружаться точно через нужные промежутки по запросу из cron, а не постоянно с проверкой временных диапазонов. cron дают даже на бесплатных хостингах сейчас.
Не в сети
Wolverine, спасибо за комментарий
Самопальный cron делался в момент, когда серверный крон получить было практически нереально.
Доработаю немного "самопальный" крон чтобы его можно было использовать совместно с серверным
Заодно можно будет решить и проблему с автогенерацией бекапов.
Не в сети
Не в сети
Wolverine, текущая версия не отслеживает чётко момент запуска и на сайтах с высокой посещаемостью возможен одновременный запуск бекапилки.
дада, у меня на больших сайтах бивает 4 даже бекапа одновременно запускает, от того очень напрягает сервак
Не в сети