Новости Joomla

joomLab Gallery - плагин галереи изображений для Joomla

👩‍💻 joomLab Gallery - плагин галереи изображений для Joomla.Плагин joomLab Gallery позволит Вам добавлять в любой материал неограниченное количество галерей, а главное удобно управлять файлами и эффектами в каждой галерее.Плагин использует популярны скрипты Swiper.js и FancyBox. Первый для крутой организации и эффектов галерей, а второй для красивого и функционального показа оригинальных изображений на Вашем сайте.На данный момент плагин имеет 10 макетов вывода - это 10 различных эффектов галерей и Вы можете совмещать все 10 в 1 материале.Плагин позволяет гибко настраивать индивидуально каждую галерею в материале. Вы можете выбрать макет, эффекты и даже можете управлять функциями всплывающего окна изображения.Недостатки.Такой вид реализации не предусматривает выбор изображения на сервере. Т.е. Вы не можете выбрать уже добавленное фото, только загружать заново. Плагин не предоставляет возможности доступа к медиа-менеджеру.Плагин бесплатный. Разработчик - участник нашего сообщества Александр Новиков (@pro-portal).Страница расширения@joomlafeed#joomla #расширения

Готовлю большой выпуск, включающий интервью с участниками Joomla Ну что, интересная инициатива от...

Готовлю большой выпуск, включающий интервью с участниками Joomla Ну что, интересная инициатива от...

Готовлю большой выпуск, включающий интервью с участниками Joomla 🖨Ну что, интересная инициатива от @webtolkru в виде интервью с разными участниками весьма меня увлекла. Я, вооружившись данным примером, решил подготовить выпуск для NorrNext (@norrnext) и экстраполировал идею на международный масштаб. Теперь готовлю эксклюзивный выпуск с участниками Joomla сообщества со всего мира, которые, в той или иной мере, внесли свой вклад в развитие и популяризацию системы. Будут беседы с людьми из разных стран и фото с юбилейной символикой 📸Работа в процессе 👆 📝О результатах оповещу отдельно.

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

max_1985

  • Давно я тут
  • 611
  • 56 / 0
Как реализовать чтоб к дате выводилось еще и время?

Для отображения даты я так понимаю используется ф-ция:
function reorderDate( $date ){
      $format = JText::_('ADSMANAGER_DATE_FORMAT_LC');
      
      if ($date && (preg_match("/([0-9]{4})-([0-9]{2})-([0-9]{2})/",$date,$regs))) {
         $date = mktime( 0, 0, 0, $regs[2], $regs[3], $regs[1] );
         $date = $date > -1 ? strftime( $format, $date) : '-';
      }
      return $date;
   }
и echo $this->reorderDate($content->date_created);
Может можно как поправить, подскажите!
« Последнее редактирование: 14.07.2012, 23:15:51 от max_1985 »
*

Grendy

  • Захожу иногда
  • 247
  • 26 / 0
Re: Время подачи объявления
« Ответ #1 : 13.07.2012, 19:59:19 »
Как реализовать?

Для отображения даты я так понимаю используется ф-ция:
function reorderDate( $date ){
      $format = JText::_('ADSMANAGER_DATE_FORMAT_LC');
      
      if ($date && (preg_match("/([0-9]{4})-([0-9]{2})-([0-9]{2})/",$date,$regs))) {
         $date = mktime( 0, 0, 0, $regs[2], $regs[3], $regs[1] );
         $date = $date > -1 ? strftime( $format, $date) : '-';
      }
      return $date;
   }
и echo $this->reorderDate($content->date_created);
Может можно как поправить, подскажите!

Хм. Дата подачи - дата размещения? Тогда в чём, собственно, вопрос, если код вы уже привели?

Дата создания = дата "подачи" = дата размещения = $this->content->date_created

Вообще просто вывести дату размещения можно простым <?php echo $this->content->date_created; ?>, а предложенная вами функция приводит её к определённому виду. Если конкретизировать ответ, функция отбрасывает время размещения и немного меняет формат даты (из 2012-07-13 в 13.07.2012).

Не знаете, куда вставить код функции? Нужно именно "число:месяц:год час:минута:секунды" ? Или что-то другое? Опишите задачу поконкретнее...
Плюс в репутацию больше говорит о благодарности, чем слово "Спасибо" в теме, которую повторно, возможно, никогда уже не посетишь.
*

Grendy

  • Захожу иногда
  • 247
  • 26 / 0
Re: Время подачи объявления
« Ответ #2 : 13.07.2012, 20:22:31 »
На всякий случай, если дело действительно ограничивалось часами и минутами...

Самый лёгкий способ: в файле русификации (ru-RU.com_adsmanager.ini) (или в файле, который соответствует используемому на сайте языку) ищите строчку ADSMANAGER_DATE_FORMAT_LC и дописывайте/удаляйте ненужное.

К примеру, значение "%H:%M %d.%m.%Y" будет выводить дату и время в формате "Час:Минуты День.Месяц.Год". При желании можно добавить ещё и секунды (но зачем?) - %H:%M:%S.

Лично я вижу один небольшой минус: когда человек будет обновлять объявление, часы и минуты будут сбрасываться на 00:00, что в итоге и отобразится на сайте. Очень некрасиво будет смотреться...
Плюс в репутацию больше говорит о благодарности, чем слово "Спасибо" в теме, которую повторно, возможно, никогда уже не посетишь.
*

max_1985

  • Давно я тут
  • 611
  • 56 / 0
Re: Время подачи объявления
« Ответ #3 : 13.07.2012, 20:40:35 »
Нужно число:месяц:год
             час:минута
%H:%M - если я это добавляю то во всех объявлениях даже только-что поданых, везде 00:00
http://bezgazet.kiev.ua/all_ads.html
« Последнее редактирование: 13.07.2012, 23:55:49 от max_1985 »
*

max_1985

  • Давно я тут
  • 611
  • 56 / 0
Re: Время подачи объявления
« Ответ #4 : 13.07.2012, 23:15:11 »
Сделал так:
if ( $date && ereg( "([0-9]{4})-([0-9]{2})-([0-9]{2})[ ]([0-9]{2}):([0-9]{2}):([0-9]{2})", $date, $regs ) ) {
$date = mktime( $regs[4], $regs[5], $regs[6], $regs[2], $regs[3], $regs[1] );
$date = $date > -1 ? strftime( $format, $date + ($offset*60*60) ) : '-';
}
и "%H:%M %d.%m.%Y"
Все вроде нормально показывает но,
Теперь при обновлении объявления время становится 00:00 и объявление соответственно не в самом верху. (в принципе эта проблема у Всех, заметьте если обновляешь объявление и в этот день кто-то публиковал объявление, то Ваше будет ниже )
Как решить?

Может здесь что-то изменить:
<?php echo JText::_('ADSMANAGER_EXPIRATION_DATE')?>: <?php echo $this->reorderDate($content->expiration_date)?>
или что-то в базе надо поправить?
« Последнее редактирование: 14.07.2012, 01:15:33 от max_1985 »
*

Grendy

  • Захожу иногда
  • 247
  • 26 / 0
Re: Время подачи объявления
« Ответ #5 : 14.07.2012, 04:28:16 »
Сделал так:
if ( $date && ereg( "([0-9]{4})-([0-9]{2})-([0-9]{2})[ ]([0-9]{2}):([0-9]{2}):([0-9]{2})", $date, $regs ) ) {
$date = mktime( $regs[4], $regs[5], $regs[6], $regs[2], $regs[3], $regs[1] );
$date = $date > -1 ? strftime( $format, $date + ($offset*60*60) ) : '-';
}
и "%H:%M %d.%m.%Y"
Все вроде нормально показывает но,
Теперь при обновлении объявления время становится 00:00 и объявление соответственно не в самом верху. (в принципе эта проблема у Всех, заметьте если обновляешь объявление и в этот день кто-то публиковал объявление, то Ваше будет ниже )
Как решить?

Может здесь что-то изменить:
<?php echo JText::_('ADSMANAGER_EXPIRATION_DATE')?>: <?php echo $this->reorderDate($content->expiration_date)?>
или что-то в базе надо поправить?

А нужно, чтобы оно в самый верх попадало при обновлении? Злоупотреблять функцией начнут же :)

Чтобы всё делалось "автоматом", смотрите в сторону функции function renewContent в файле administrator/components/com_adsmanager/models/content.php. Скорее всего, в ней достаточно будет заменить date_created = CURDATE() на что-то, что бы учитывало ещё и Часы:Минуты, когда нажали на кнопочку "Продлить". Как вариант, можно посмотреть в сторону функции сохранения объявления (в каком файле находится функция, не знаю) при размещении и оттуда выдернуть нужное.

Не знаю, будет ли это решением, так как проверить не на чём, но можно сделать следующее:

В файле administrator/components/com_adsmanager/models/content.php в функции renewContent находим строчки

Код
		$newdate = date("Y-m-d",$time);

$this->_db->setQuery( "UPDATE #__adsmanager_ads SET expiration_date = '$newdate', date_created = CURDATE(),recall_mail_sent=0,published=1 WHERE id=".(int)$contentid." and recall_mail_sent = 1");

Создаём и дописываем переменную $newdatecr и правим запрос, чтобы в итоге получилось следующее

Код
		$newdate = date("Y-m-d",$time);
$newdatecr = date("Y-m-d H:i:s");
$this->_db->setQuery( "UPDATE #__adsmanager_ads SET expiration_date = '$newdate', date_created = '$newdatecr',recall_mail_sent=0,published=1 WHERE id=".(int)$contentid." and recall_mail_sent = 1");

Должно будет записываться то время, в которое пользователь нажал на кнопочку "Продлить" (либо "Обновить"). Проверьте, возможно, это и есть решение.
Плюс в репутацию больше говорит о благодарности, чем слово "Спасибо" в теме, которую повторно, возможно, никогда уже не посетишь.
*

max_1985

  • Давно я тут
  • 611
  • 56 / 0
Re: Время подачи объявления
« Ответ #6 : 14.07.2012, 10:05:56 »
Сейчас при обновлении записывается  дата и время создания объявления.

Да забыл сказать что ф-ция renewContent у меня имеет вид:

Код
function renewContent($contentid,$ad_duration)
{

$this->_db->setQuery( "UPDATE #__adsmanager_ads SET expiration_date = DATE_ADD(CURDATE(), INTERVAL +$ad_duration DAY), date_created = CURDATE(),recall_mail_sent=0,published=1 WHERE id=".(int)$contentid);
$this->_db->query();
}
Отличается от исходного наверно что-то менял.
« Последнее редактирование: 14.07.2012, 10:36:01 от max_1985 »
*

max_1985

  • Давно я тут
  • 611
  • 56 / 0
Re: Время подачи объявления
« Ответ #7 : 14.07.2012, 12:23:28 »
Сделал:
CURDATE() заменил на NOW()

Было бы не плохо сделать чтоб юзер мог обновлять объявление раз в сутки
« Последнее редактирование: 14.07.2012, 12:47:22 от max_1985 »
*

max_1985

  • Давно я тут
  • 611
  • 56 / 0
Может кто решил чтоб обновлять объявление можно было раз в сутки?
*

girlwolf

  • Захожу иногда
  • 126
  • 3 / 0
Возможность обновления (поднятия) объявлений раз в сутки:

В файле administrator/components/com_adsmanager/models/content.php заменить функцию RenewContent на эту:

Код
function renewContent($contentid,$ad_duration)
{
$this->_db->setQuery( "SELECT date_created FROM #__adsmanager_ads WHERE id = ".(int)$contentid);
$obnovka_date = $this->_db->loadResult();
$time = strtotime($obnovka_date);
$time = $time + (3600 *24);


if (time() > $time){
$this->_db->setQuery( "UPDATE #__adsmanager_ads SET expiration_date = DATE_ADD(NOW(), INTERVAL +$ad_duration DAY), date_created = NOW(),recall_mail_sent=0,published=1 WHERE id=".(int)$contentid);
$this->_db->query();
}

}
*

max_1985

  • Давно я тут
  • 611
  • 56 / 0
Возможность обновления (поднятия) объявлений раз в сутки:

В файле administrator/components/com_adsmanager/models/content.php заменить функцию RenewContent на эту:

Код
function renewContent($contentid,$ad_duration)
{
$this->_db->setQuery( "SELECT date_created FROM #__adsmanager_ads WHERE id = ".(int)$contentid);
$obnovka_date = $this->_db->loadResult();
$time = strtotime($obnovka_date);
$time = $time + (3600 *24);


if (time() > $time){
$this->_db->setQuery( "UPDATE #__adsmanager_ads SET expiration_date = DATE_ADD(NOW(), INTERVAL +$ad_duration DAY), date_created = NOW(),recall_mail_sent=0,published=1 WHERE id=".(int)$contentid);
$this->_db->query();
}

}
Что-то не прокатило.
*

Frics

  • Осваиваюсь на форуме
  • 37
  • 0 / 0
Подскажите как изменить часовой пояс? вывод объявления с часами и минутами получилось вот только время московское а мне нужно на два часа позже
*

СерьёгА

  • Осваиваюсь на форуме
  • 17
  • 0 / 0
Что-то не прокатило.
Решил проблему?
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Редактировать все объявления

Автор den_ko

Ответов: 32
Просмотров: 12371
Последний ответ 25.11.2021, 10:43:38
от FlexNL
Слетают категории объявления

Автор guardnext

Ответов: 1
Просмотров: 3261
Последний ответ 09.07.2019, 10:10:59
от guardnext
Обновление оьъявления

Автор voras

Ответов: 5
Просмотров: 1372
Последний ответ 16.08.2018, 16:48:41
от max_1985
AdsManger не удаляет объявления

Автор kozhenevsky

Ответов: 0
Просмотров: 1421
Последний ответ 15.02.2018, 12:08:29
от kozhenevsky
Лечим кнопку "Delete from favorites" на странице объявления. AdsManager 3.1.11

Автор Mick_20

Ответов: 1
Просмотров: 1696
Последний ответ 24.12.2017, 22:28:14
от vadim73