Как в записях показать что время просрочилось?

InstantCMS 2.X
#1 30 сентября 2018 в 20:41
Всем привет! Хочу сделать записи с временем окончания, как сделать отображение времени, чтобы было понятно, что оно просрочилось, ну чтобы
просроченные записи можно было отличить от актуальных записей (записи без просроченного времени)?
#2 1 октября 2018 в 06:09
Проверьте на 1 дне
#3 1 октября 2018 в 08:34
@elv3327

Это полностью скроет записи с истекшим сроком публикации. Тут нужно шаблон списка и экшен скорее всего редактировать.
#4 1 октября 2018 в 08:57
Лучше наверно по истечении срока класть в корзину и дать возможность восстановить. Если не будет восстанавливаться через какое-то время из корзины удалять автоматически.
#5 1 октября 2018 в 19:45

Срок публикации

@elv3327
Там таки жутко не хватает простой возможности "отметить, как просроченное".
Думаю, будет.
#6 1 октября 2018 в 20:09

Лучше наверно по истечении срока класть в корзину и дать возможность восстановить

@elv3327
Нет, не лучше. Смотря для чего это нужно. Например, мне сейчас нужно не скрывать запись, но скрыть часть полей, пока не будет продлено. Причем, скрыть их со страницы, но оставить в коде. Буду ломать мозг завтра-послезавтра. Кроме того, надо еще вывести надпись для автора записи, сколько времени осталось. Буду пробовать в шаблоне химичить.
#7 1 октября 2018 в 23:24
Если выбирать из того, что есть может лучше корзина, смотреть какие записи скоро исчезнут наборами… У Денис Васильевич есть виджет TimeLine (временная лента), может его приспособить?
#8 2 октября 2018 в 00:37
Решили отдохнуть с друзьями, пивка попить, шашлычок… но

Если выбирать из того, что ест

@elv3327
Нафиг надо идти в магазин за пивом и мясом, лучше пожевать хлеба и запить водой из под крана. Да?
#9 2 октября 2018 в 00:45

Нафиг надо идти в магазин за пивом и мясом, лучше пожевать хлеба и запить водой из под крана. Да?

шэльдэ бердэ бельдэ
Было написано если выбирать из того, что есть, НО Вам не запрещают

Буду ломать мозг завтра-послезавтра. Кроме того, надо еще вывести надпись для автора записи, сколько времени осталось. Буду пробовать в шаблоне химичить.

шэльдэ бердэ бельдэ
Сколько времени осталось может видеть админ, для юзера это полезная функция + можно виджетом делать выборку по времени. + в Профиле есть ссыль на объявления автора, там можно фильтровать по дате. Есть Виджет "Наборы типов контента".
#10 2 октября 2018 в 01:02
шэльдэ бердэ бельдэ если идти за догонкой лучше выпить на ночь спазмалгон crazy
#11 3 октября 2018 в 00:02
дополнительное поле, взять за основу fields типа url в нем замена в php. В поле вставляется дата истечения, если позднее даты в поле то че нибудь происходит или картинка выводится или текст, подмена там какая.
#12 3 октября 2018 в 08:51
После удаления в корзину автор объявления перестает видеть объявление и не сможет восстановить? Как работает Скрыть? По идее нужно скрывать от всех, автор чтобы видел объявление, но не мог редактировать, только "Продлить". Если в течении определенного времени не продлил — удалить в корзину и потом по истечении какого-то времени автоматически удалить из корзины.

#13 3 октября 2018 в 14:36
На вскидку, на скорую руку. Код дилетанта. на свой страх и риск))))

1. Создаем в /system/fields/ файл lidin.php, в него вставляем код. В месте "Статья протухла тут вставляем код pop-up коих в сети море" вставляем код pop-up коих в сети море тыц

2. Создаем в /templates/default/assets/fields/ файл lidin.tpl.php в него копируем все содержимое из url.tpl.php (/templates/default/assets/fields/url.tpl.php)

3. Идем в админку и в статьях (Типы контента->Статьи->Поля-> создать поле)
создаем поле в нем выбираем "Тип поля" в выпадающем списке "время истечения статьи"

4. При создании статьи в поле вносим скажем как пример 2018-10-03 15:00:00



  1.  
  2.  
  3. <?php
  4.  
  5. class fieldLidin extends cmsFormField {
  6.  
  7. public $title = 'время истечения статьи';
  8. public $sql = 'varchar({max_length}) NULL DEFAULT NULL';
  9. public $filter_type = 'str';
  10. public $allow_index = false;
  11. public $var_type = 'string';
  12.  
  13. public function getOptions(){
  14. return array(
  15. new fieldCheckbox('redirect', array(
  16. 'title' => LANG_PARSER_URL_REDIRECT,
  17. 'default' => false,
  18. 'is_visible' => cmsController::enabled('redirect')
  19. )),
  20. new fieldCheckbox('title', array(
  21. 'title' => LANG_PARSER_URL_TITLE,
  22. 'default' => false
  23. )),
  24. );
  25. }
  26.  
  27. public function parse($value){
  28.  
  29.  
  30.  
  31. $date_string = ".htmlspecialchars($href).";
  32. $adv_enabled = true;
  33. if ($adv_enabled)
  34. {
  35. if (strtotime($date_string) < time()) echo 'Статья протухла тут между одинарными кавычками вставляем код pop-up коих в сети море';
  36. else echo 'тут если надо что то показать когда статья не протухла, оставить пустые одинарные кавычки если не надо';
  37. }
  38. else echo 'Тут если до окончания срока ну очень далеко, оставить пустые одинарные кавычки если не надо';
  39. }
  40.  
  41.  
  42. public function applyFilter($model, $value) {
  43. return $model->filterLike($this->name, "%{$value}%");
  44. }
  45.  
  46. public function store($value, $is_submitted, $old_value=null){
  47. return strip_tags($value);
  48. }
  49.  
  50. }
  51.  
  52.  
#14 3 октября 2018 в 14:37
Профи думаю смогут подсказать более изящный вариант кода))))
#15 3 октября 2018 в 14:44
Ждем это в 2,10.2 или в расширенной доске на худой конец.
Вы не можете отвечать в этой теме.
Войдите или зарегистрируйтесь, чтобы писать на форуме.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.