Отображение оставшихся дней публикации

#16 4 января 2018 в 19:31

Вы включаете лампочку. Горит великолепно… но не выключается...
А он вам

Dmitry
все верно пишет Loadырь — у ТС не обозначено, а догадываться для каких случаев ТС хочет использовать явно уже нужно быть экстрасенсом.
#17 4 января 2018 в 19:37

Всё верно. С чего вдруг он должен делать это, если просили его сделать только включатель?

Loadырь
Ну да. Но все равно палка о двух концах.
В дополнения бы платный компонент сделали да и все, с различными настройками… За оплату капризы не так муторно слушать.
#18 4 января 2018 в 20:05

За оплату капризы не так муторно слушать.

Dmitry
Вот тут как раз и вылазит палка о двух концах. На примере этого ТЗ

Ну скажем если компонент публикуется на 30 дней, чтоб через неделю автор видел что осталось 23 дня публикации.

Vladimir
Ему исполнитель делает так

  1. <?php echo !empty($item['date_pub_end']) ? 'До окончания срока публикации, осталось: ' . string_date_age_max($item['date_pub_end']) : '';?>

Loadырь
Автор видит это сообщение, но это видят и все другие. Начинается расширение ТЗ

Так и по логике, это нужно выводить только для автора материала

Jestik
Исполнитель делает так

  1. <?php echo (!empty($item['date_pub_end']) && $item['user_id'] == $user->id) ? 'До окончания срока публикации, осталось: ' . string_date_age_max($item['date_pub_end']) : '';?>

Loadырь
В итоге автор видит, другие не видят, что и хотели, но как-то обошли админов и теперь они остались не у дел. Снова расширяем ТЗ
Исполнитель делает так

  1. <?php echo (!empty($item['date_pub_end']) && ($item['user_id'] == $user->id || $user->is_admin)) ? 'До окончания срока публикации, осталось: ' . string_date_age_max($item['date_pub_end']) : '';?>

Loadырь
Все довольны, но тут возникает необходимость, чтобы после обновления данная фича была работоспособна. Снова расширяем ТЗ, пишем хук и для его обработки целый компонент.

В итоге первоначальное ТЗ трижды расширялось, объем работ и трудозатраты выросли.
Вот и возникает палка о двух концах: кто будет платить? С одной стороны Заказчик, который не указал в ТЗ полный объем работ или Исполнитель, который не догадался и не предусмотрел всех нюансов в этом вопросе?
#19 4 января 2018 в 21:07
Ну я вот поверхностно только знаю и php и mysql и css и вообще почти все laugh
Ваш код, который вы предоставили ТС, мне не особо поможет. Это нужно садиться и разбираться (как и куда его пристроить).
Т. к. эта плюшка не критичная, то заказывать индивидуальную разработку, думаю, мало смысла.
А вот с каталога дополнений я бы с удовольствием забрал готовое решение и сразу поставил, чтобы вычеркнуть из списка хотелок.
#20 4 января 2018 в 21:16

В итоге первоначальное ТЗ трижды расширялось, объем работ и трудозатраты выросли.

Loadырь
Ещё вы ж не догадались, что нужно в админке указывать за сколько времени до окончания надо вывести сообщение

о том, что отправлять сообщение пользователю на сайте и на почту само собой понятная необходимость laugh
#21 4 января 2018 в 23:18

о том, что отправлять сообщение пользователю на сайте и на почту само собой понятная необходимость

Олег Васильевич я
а еще в виде смс))) а еще юзеру дать возможность в своих настройках указать присылать ли ему уведомления. А если у него 10 объявлений то отправлять в одном письме сразу со ссылками на все такие объявления, а не плодить кучу....) и т.д и т.п.
#22 4 января 2018 в 23:49
Вот так с подколами, шутками, прибаутками глядишь и компонент новый наваяете. laughВот уже какое ТЗ получилось.
#23 5 января 2018 в 06:33
Спасибо большое Loadырю!
Один вопрос более менее решился, но из него вытекла другая проблема, уже с инстантом.
Проблем со сроком публикации:
1. Если выбрать "Выбор срока окончания публикации — нет", тогда поле не заполняется, несмотря на то, что ставишь ограничение в админке по "Максимальный срок публикации, дней".
2. При выборе в админке "Выбор срока окончания публикации — дни", при добавлении контента поле есть, но при редактировании его нет, при том при сохранении после редактирования, поле обнуляется, таким образом после редактирования нет ограничения по дням публикации.
3. При выборе в админке "Выбор срока окончания публикации — любая дата", поле при редактировании контента появляется, но тут другая проблема, можно выбрать вообще любую дату, несмотря на то что ставишь ограничение в админке по "Максимальный срок публикации, дней".
Прям замкнутый круг. Может есть решения?
Нашёл в другом топике похожие проблемы со сроком и датой публикацией, решение вроде пока нет…
instantcms.ru/forum/thread27319-1.html
#24 5 января 2018 в 11:53

Спасибо большое Loadырю!

Vladimir
Присоединяюсь!
Здесь непрограммерская попытка немного развить с целью поиграться.
Там на украинском. Но переводить не обязательно.
Возьмите код и вставьте в нужном месте default_item.tpl.php Комменты в коде на русском, настройте как надо.
#25 10 ноября 2018 в 15:40
Использовал код Loadыря и доработку Олега Васильевича, ещё раз спасибо! Решите пожалуйста, почему при публикации на срок более 30 дней, информация об окончании срока публикации не появляется?!
#26 10 ноября 2018 в 16:04
Vladimir, в коде Олег Васильевич я, есть условие —
  1. //выводим сообщения, если до окончания срока публикации осталось меньше 30 дней
  2. if($time_left->d < 30) {
подозреваю, это было сделано намеренно.
#27 10 ноября 2018 в 16:18


Vladimir, в коде Олег Васильевич я, есть условие —

  1. //выводим сообщения, если до окончания срока публикации осталось меньше 30 дней
  2. if($time_left->d < 30) {
подозреваю, это было сделано намеренно.

Loadырь
Изменил на 370 и всё заработало. Только если более 30 дней то пишет месяцы. А если до окончания скажем 1 месяц и 20 дней, всё равно пишет "Публикация записи будет прекращена через 1 месяц!" Вообщем необходимо сделать, чтобы выводились просто дни!
Вы не можете отвечать в этой теме.
Войдите или зарегистрируйтесь, чтобы писать на форуме.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.