0 Пользователей и 1 Гость просматривают эту тему.
  • 6 Ответов
  • 421 Просмотров
*

kanevlife

  • Осваиваюсь на форуме
  • 88
  • 10
  • Всегда читай до конца, и не будет лишних вопросов
Joomla! 3.5.1, AdsManager 2.9.11

 ! У кого есть идеи? Нужна помощь!

\www\site\components\com_adsmanager\views\myads\tmpl\default.php
Код
$target = TRoute::_("index.php?option=com_adsmanager&task=write&catid=".$content->catid."&id=$content->id");
echo "<a href='".$target."'>".JText::_('ADSMANAGER_CONTENT_EDIT')."</a>";
ADSMANAGER_CONTENT_EDIT - Редактировать (У кого как переведено)

Задача:
Нужно, чтобы эта ссылка "Редактировать" появлялась только по истечению определенного времени (установленного количества дней).

Вариант 1. Создано поле, редактируемое только в админ, - "Дата продления" - ad_dateextension (Тип date). При совпадении текущей даты с датой, установленной в этом поле, должна появиться ссылка "Редактировать".

Вариант 2. Дата публикации (publication_date) объявления + N (дней) - должна появиться ссылка "Редактировать".
Иначе говоря, ссылка скрыта до срока, который установлен после дня публикации объявления (publication_date) на N число дней.
Например: publication_date - 04.07.2016 г. + 7 дней (168 часов) = 11.07.2016 г. появится ссылка "Редактировать".

Как это выразить языком PHP?
« Последнее редактирование: 04.07.2016, 19:48:42 от kanevlife »
KanevLife
*

saharin88

  • Давно я тут
  • 269
  • 18
  • JoomWork
Re: Редактировать объявление
« Ответ #1 : 04.07.2016, 16:12:25 »
не пойму вопроса, вы же сами написали в варианте 2 решение
*

kanevlife

  • Осваиваюсь на форуме
  • 88
  • 10
  • Всегда читай до конца, и не будет лишних вопросов
Re: Редактировать объявление
« Ответ #2 : 04.07.2016, 16:35:11 »
Да, но вот как это выразить языком PHP?
KanevLife
*

saharin88

  • Давно я тут
  • 269
  • 18
  • JoomWork
Re: Редактировать объявление
« Ответ #3 : 04.07.2016, 16:54:13 »
Код
$date_edit = new DateTime($publication_date);
$date_edit->modify('+30 day');
if(date('Y-m-d') > $date_edit->format('Y-m-d')) {
    echo '<a>Edit</a>';
}
« Последнее редактирование: 04.07.2016, 16:57:25 от saharin88 »
*

kanevlife

  • Осваиваюсь на форуме
  • 88
  • 10
  • Всегда читай до конца, и не будет лишних вопросов
Re: Редактировать объявление
« Ответ #4 : 04.07.2016, 16:57:26 »
Большое СПАСИБО!
Сейчас попробую протестировать

Если не затруднит, то как это должно выглядеть?

Код
$target = TRoute::_("index.php?option=com_adsmanager&task=write&catid=".$content->catid."&id=$content->id");
echo "<a href='".$target."'>".JText::_('ADSMANAGER_CONTENT_EDIT')."</a>";
и
Код
$date_edit = new DateTime($publication_date);
$date_edit->modify('+30 day');
if(date('Y-m-d') > $date_edit->format('Y-m-d')) {
    echo '<a>Edit</a>';
}

И что есть что? Пока не получается сложить все вместе... не работает...
« Последнее редактирование: 04.07.2016, 18:00:53 от kanevlife »
KanevLife
*

saharin88

  • Давно я тут
  • 269
  • 18
  • JoomWork
Re: Редактировать объявление
« Ответ #5 : 04.07.2016, 19:49:53 »
Код

$date_edit = new DateTime('тут дата добавления'); // дата добавления возможно $content->publication_date
$date_edit->modify('+30 day');
if(date('Y-m-d') > $date_edit->format('Y-m-d')) {
$target = JRoute::_("index.php?option=com_adsmanager&task=write&catid=".$content->catid."&id=$content->id");
echo "<a href='".$target."'>".JText::_('ADSMANAGER_CONTENT_EDIT')."</a>";
}

*

kanevlife

  • Осваиваюсь на форуме
  • 88
  • 10
  • Всегда читай до конца, и не будет лишних вопросов
Огромное спасибо, saharin88, - мало. + будет лучше!

Все работает отлично!
KanevLife
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться