Новости Joomla

Как тестировать Joomla PHP-разработчику? Компонент Patch tester.

👩‍💻 Как тестировать Joomla PHP-разработчику? Компонент Patch tester.Joomla - open source PHP-фреймворк с готовой админкой. Его основная разработка ведётся на GitHub. Для того, чтобы международному сообществу разработчиков было удобнее тестировать Pull Requests был создан компонент Patch Tester, который позволяет "накатить" на текущую установку Joomla именно те изменения, которые необходимо протестировать. На стороне инфраструктуры Joomla для каждого PR собираются готовые пакеты, в которых находится ядро + предложенные изменения. В каждом PR обычно находятся инструкции по тестированию: куда зайти, что нажать, ожидаемый результат. Тестировщики могут предположить дополнительные сценарии, исходя из своего опыта и найти баги, о которых сообщить разработчику. Или не найти, и тогда улучшение или исправление ошибки быстрее войдёт в ядро Joomla. Напомню, что для того, чтобы PR вошёл в ядро Joomla нужны минимум 2 положительных теста от 2 участников сообщества, кроме автора. Видео на YouTubeВидео на VK ВидеоВидео на RuTubeКомпонент на GitHub https://github.com/joomla-extensions/patchtester@joomlafeed#joomla #php #webdev #community

Вышел релиз Revo PageBuilder Toolkit for YOOtheme Pro 1.6

Вышел релиз Revo PageBuilder Toolkit for YOOtheme Pro 1.6.2PageBuilder Toolkit - это специализированный плагин для конструктора страниц Yootheme Pro, содержит набор различных утилит для ускорения процесса работы и отладки макета, множественные улучшения в интерфейсе, включая поддержку dark mode, подсказки, быстрая смена разрешения в окне просмотра и много чего еще.v.1.6.2 Что нового?- Индикатор статусов: теперь не просто показывает состояние запросов, но и делает автоматические попытки их отправки при кратковременных сбоях в сети, а если это не помогло, то переводит конструктор в ручной режим, что позволяет сохранит макет и настройки темы прежде чем вы потеряете все, что было сделано с момента последнего сохранения- Подсветка ошибок в макете: плагин анализирует код страницы и может автоматически подсвечивать data атрибуты с кучей мусора, которые попадают в код страницы при копипасте из Figma в TinyMCE (пригодится для старых макетов, в текущей работе плагин сам очищает код мусора). Также есть подсветка семантических ошибок сборки - дубли h1 тега на странице и вложенных друг в друга заголовков.- Улучшена поддержка будущего релиза Yootheme Pro 5 и редактора CodeMirror 6Плагин для русскоязычных пользователей доступен в каталоге расширений SovMart и распространяется за символическую плату (100р). Разработчики Joomla расширений и партнеры автора могут получить плагин бесплатно.Для работы плагина необходим конструктор страниц Yootheme Pro.Разработчик плагина - участник нашего сообщества Александр Судьбинов (@alexrevo), член официальной группы поддержки Yootheme Pro. Страница расширенияОписание на сайте автора@joomlafeed#joomla #yootheme

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

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
Просмотров: 12738
Последний ответ 25.11.2021, 10:43:38
от FlexNL
Слетают категории объявления

Автор guardnext

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

Автор voras

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

Автор kozhenevsky

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

Автор Mick_20

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