Новости 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 Гость просматривают эту тему.
  • 58 Ответов
  • 15525 Просмотров
*

Kikasso

  • Захожу иногда
  • 99
  • 45 / 0

Этот способ будет действенен только для Ads начиная с версии 2.5RC2

Первый этап:
1. Заходим в админ панель и переходим к пункту редактирования полей в AdsMeneger ("AdsManager -> Fields List" )
2. Создаём поле со следующими параметрами:
- Type: SingleSelect
- Name: ad_delta
- Title: Срок размещения (на усмотрение)
- Required?: если оставите нет, то по умолчанию объявления будут публиковаться на срок 30 дней
- Published?: Да
- Editable?: Да
- Добавляете параметры:
   


Если всё получилось и данное поле отображается в форме добавления объявления, переходим ко второму этапу:
И так кодинг:
Находим в файле adsmanager.php кусок кода:
Код
	$isUpdateMode  = intval(mosGetParam( $_POST, 'isUpdateMode', 0));
if ($isUpdateMode == 0)
{
if ($conf->auto_publish == 1)
{
$row->published = 1;
$redirect_text = ADSMANAGER_INSERT_SUCCESSFULL_PUBLISH;
}
else
{
$row->published = 0;
$redirect_text = ADSMANAGER_INSERT_SUCCESSFULL_CONFIRM;
}
}
else
$redirect_text .= ADSMANAGER_UPDATE_SUCCESSFULL;

if ($isUpdateMode == 0)
{
$row->date_created = date("Y-m-d");
$delta = $conf->ad_duration; 
echo $delta;
$row->expiration_date = date("Y-m-d",mktime()+($delta*24*3600));

}

и меняем его на:
Код
$isUpdateMode  = intval(mosGetParam( $_POST, 'isUpdateMode', 0));
$delta =intval(mosGetParam( $_POST, 'ad_delta',30 ));
if ($isUpdateMode == 0)
{
if ($conf->auto_publish == 1)
{
$row->published = 1;
$recall_time = $conf->recall_time;
$redirect_text = sprintf(ADSMANAGER_INSERT_SUCCESSFULL_PUBLISH,$delta,$recall_time);
}
else
{
$row->published = 0;
$redirect_text = ADSMANAGER_INSERT_SUCCESSFULL_CONFIRM;
}
}
else
$redirect_text .= ADSMANAGER_UPDATE_SUCCESSFULL;

if ($isUpdateMode == 0)
{
$row->date_created = date("Y-m-d");
$row->expiration_date = date("Y-m-d",mktime()+($delta*24*3600));
}

Последний штрих, для корректного вывода информационного собщения

в используемом языковом файле изменяем значение переменной ADSMANAGER_INSERT_SUCCESSFULL_PUBLISH , по максимуму это будет выглядеть так:
Код
DEFINE( "ADSMANAGER_INSERT_SUCCESSFULL_PUBLISH","Ваше объявление опубликовано.Срок публикации %s дней, за %s дней до окончания срока Вам на e-mail придет уведомление с ссылкой на продление.");
*

Nishtiak

  • Захожу иногда
  • 112
  • 3 / 0
У меня не получилось! у меня даже код adsmanager.php отличается может напишешь подробнее что и как.
*

bargakuzzo

  • Осваиваюсь на форуме
  • 46
  • 3 / 0
А у меня заработало на 2.5RC1. Спасибо.
*

Nishtiak

  • Захожу иногда
  • 112
  • 3 / 0
У меня еще есть пару вопросов касательно Adsmanager а вот спросить не у кого, на форумах мало на что отвечают, а ты я видел часто помогаешь в решениях проблем. Может поможешь мне тоже, думаю многим будут полезны изменения   
*

bargakuzzo

  • Осваиваюсь на форуме
  • 46
  • 3 / 0
А ads какой? (Я вообще не специалист, так пытаюсь разобраться).
Найди блокнотом Notepad++ (если нет - скачай и установи, полезная штука) какой-то маленький кусочек кода (например $isUpdateMode) и замени весь кусок на предложенный. В блокноте поиск = Ctr+F.
Создай поле как написано (можешь со своим вариантом сроков публикации и позицией вывода).
Также в языковом файле измени DEFINE( "ADSMANAGER_INSERT_SUCCESSFULL_PUBLISH","Ваше объявление опубликовано.Срок публикации %s дней, за %s дней до окончания срока Вам на e-mail придет уведомление с ссылкой на продление."); или свой вариант.
Вроде все.
*

Dimm555

  • Захожу иногда
  • 103
  • 6 / 0
bargakuzzo, вот у меня такая же RC1 как и у тебя, но, к сожалению, не работает... Ты не знаешь, что можно проверить, может у меня какие функции в коде повреждены?
И как можно проверить, что работает? Через день удаляется или если, например, на денвере время перевести?
*

bargakuzzo

  • Осваиваюсь на форуме
  • 46
  • 3 / 0
Посмотри настройки поля, может ты его не опубликовал. В Ads объявы по умолчанию на сколько выставлены-?
Вот файл. Строки с 1207 по 1230. Попробуй заменить этот на свой, только свой скопируй на всякий случай, если что - обратно поставишь.
Мне кажется что проблема в настройках поля, поковыряйся.

[вложение удалено Администратором]
*

Kikasso

  • Захожу иногда
  • 99
  • 45 / 0
У меня не получилось! у меня даже код adsmanager.php отличается может напишешь подробнее что и как.
в более ранних версиях Адс, дата окончания публикации вычислятется исходя из сегодняшней даты:
Код
$expiration_date = date("Ymd",mktime()-($delta*24*3600));
именно поэтому приведённый выше рецепт, не подходит

*

eklmn

  • Осваиваюсь на форуме
  • 34
  • 2 / 0
Спасибо.
Цитировать
- Required?: если оставите нет, то по умолчанию объявления будут публиковаться на срок 30 дней
- Это значит что будет срок по умолчанию, тот который администратор установил в конфигурации?
- Что если в настройках поля для срока (ad_delta) сделать -Редактируемый? - нет-    Получится так, что поле будет отображаться при добавлении объявления пользователем с фронта, но пользователь не сможет установить срок (выпадающий список не работает:) При этом администратор в админке может поменять срок для этого объявления. Получится, что администратор может установить любой срок для объявления без участия пользователя? Если так, то как бы скрыть поле ad_delta на фронте для пользователя? (хотя можно и не скрывать).
*

Kikasso

  • Захожу иногда
  • 99
  • 45 / 0
1. если не сделать это поле обязательным для заполнения и пользователь при добавлении объявления не выберет срок, то ему будет присвоена ad_delta=30 дней;
для изменения этой даты правим
Код
$delta =intval(mosGetParam( $_POST, 'ad_delta',30 ));
где 30 - это и есть значение по умолчанию

2. тебя интересует возможность изменять срок публикации только администратором в админке?
*

eklmn

  • Осваиваюсь на форуме
  • 34
  • 2 / 0
Ясно, спасибо.
Да, это было бы здорово, чтобы только администратор устанавливал срок публикации.
« Последнее редактирование: 10.02.2010, 21:48:53 от eklmn »
*

Kikasso

  • Захожу иногда
  • 99
  • 45 / 0
Для того чтобы из админки можно было устанавливать произвольную дату окончания публикации объявления, необходимо:
в файле admin.adsmanager.html.php найти function displayAd после строчки
Код
<table cellpadding="4" cellspacing="0" border="0" width="100%" class="adminlist">
вставляем
Код
<tr>
<td><?php echo ADSMANAGER_EXPIRATION_DATE; ?></td>
<td>
<input name="expiration_date" type="text" size="10" value="<?php echo $row->expiration_date; ?>">
</td>
<td>&nbsp;</td>
</tr>

Проверяем чтоб в adsmanager.class.php class adsManagerAd содержит var $published = null;

*

eklmn

  • Осваиваюсь на форуме
  • 34
  • 2 / 0
Сделал.
Добавил в lang: DEFINE('ADSMANAGER_EXPIRATION_DATE','Дата окончания публикации объявления');
Спасибо, за такой хороший хак и помощь, буду пробовать.
*

Kikasso

  • Захожу иногда
  • 99
  • 45 / 0
Готовое решение на тему "Срок публикаци объявлений только для администратора" + календарик для ввода даты, можно просмотреть тут
http://joomlaforum.ru/index.php/topic,100565.new.html#new
*

Nishtiak

  • Захожу иногда
  • 112
  • 3 / 0
в более ранних версиях Адс, дата окончания публикации вычислятется исходя из сегодняшней даты:
Код
$expiration_date = date("Ymd",mktime()-($delta*24*3600));
именно поэтому приведённый выше рецепт, не подходит
Спасибо! помогло!
*

Nishtiak

  • Захожу иногда
  • 112
  • 3 / 0
Подскажите пожалуйста, у меня объявления выглядят так (картинка 1) а мне нужно чтоб выглядели так (картинка 2). Короче нужен компактный вид объявлений, то-есть только заголовок, дата и город, а миниатюры фотографий заменить на иконку, например фотоаппарата, при наведении на который отображалась бы фотография с объявления (картинка3). И еще при наведении на заголовок чтоб отображался текст объявления (картинка2).





*

Ротор

  • Захожу иногда
  • 97
  • 0 / 0
Kikasso в очередной раз + ^-^,было замечательно если бы ты подсказал теперь как прикрутить рейтинги к адсу ::)
*

Rudolf

  • Захожу иногда
  • 65
  • 11 / 0
Хочу добавить: когда у себя реализовывал срок размещения, то для большей эффективности использовал условие, при котором, в случае, если когда то захочется убрать изменяемый срок размещения на стандартный, то не нужно будет править компонент

Код
if ($isUpdateMode == 0)
{
$row->date_created = date("Y-m-d");

// период размещения объявления
if ( $_POST['ad_period']) $delta = $_POST['ad_period'];
else $delta = $conf->ad_duration; 
$row->expiration_date = date("Y-m-d",mktime()+($delta*24*3600));

}
бизнес-планирование, финансовое моделирование
*

samson56633

  • Осваиваюсь на форуме
  • 37
  • 7 / 1
  • Самсон
1. если не сделать это поле обязательным для заполнения и пользователь при добавлении объявления не выберет срок, то ему будет присвоена ad_delta=30 дней;
для изменения этой даты правим
Код
$delta =intval(mosGetParam( $_POST, 'ad_delta',30 ));
где 30 - это и есть значение по умолчанию.

Что-то не получается чтоб срок был 30 дней.  У меня после добавления объявы табличка пишет (Поздравляем, Ваша объявление удачно добавлено! Срок публикации 0 дней.) и реально объява опубликовывается на 0 дней!
Поле я поставил не обязательным. А вот если я поле вообще отключаю, тогда публикуется на 30 дней.

И еще вопрос.  Как бы сделать чтоб срок размещения объявлений был доступен только зарегистрированным пользователям.
А не зарегистрированным это поле не выводилось и естественно срок ставился бы автоматом, указанный в 'ad_delta'
« Последнее редактирование: 26.02.2010, 17:35:17 от samson56633 »
*

igriv

  • Осваиваюсь на форуме
  • 42
  • 0 / 0
Для того чтобы из админки можно было устанавливать произвольную дату окончания публикации объявления, необходимо:
в файле admin.adsmanager.html.php найти function displayAd после строчки
Код
<table cellpadding="4" cellspacing="0" border="0" width="100%" class="adminlist">
вставляем
Код
<tr> 
<td><?php echo ADSMANAGER_EXPIRATION_DATE; ?></td>
<td>
<input name="expiration_date" type="text" size="10" value="<?php echo $row->expiration_date; ?>">
</td>
<td>&nbsp;</td>
</tr>

Проверяем чтоб в adsmanager.class.php class adsManagerAd содержит var $published = null;



не сохраняется дата, после изменения
и с календариком ошибка выходит
« Последнее редактирование: 04.03.2010, 03:35:04 от igriv »
*

igriv

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

*

igriv

  • Осваиваюсь на форуме
  • 42
  • 0 / 0
if ($isUpdateMode == 0) нужно убрать из кода, что бы обновлялись даты при обновлении, спасибо Leech
*

archik

  • Осваиваюсь на форуме
  • 31
  • 4 / 0
Подскажите пожалуйста, что надо сделать чтоб я мог добавить срок размещения объявлений на AdsMeneger 2.2.1
*

Doc

  • Захожу иногда
  • 456
  • 17 / 0
Для того чтобы из админки можно было устанавливать произвольную дату окончания публикации объявления, необходимо:
в файле admin.adsmanager.html.php найти function displayAd после строчки
Код
<table cellpadding="4" cellspacing="0" border="0" width="100%" class="adminlist">
вставляем
Код
<tr>
<td><?php echo ADSMANAGER_EXPIRATION_DATE; ?></td>
<td>
<input name="expiration_date" type="text" size="10" value="<?php echo $row->expiration_date; ?>">
</td>
<td>&nbsp;</td>
</tr>

Проверяем чтоб в adsmanager.class.php class adsManagerAd содержит var $published = null;


Поставил этот код, но почему то число не сохранялось
Из разных тем собрал вот такой
Код
<tr>
<td><?php echo ADSMANAGER_EXPIRATION_DATE; ?></td>
<td><form action="index2.php" method="post" name="adminForm" id="adminForm" class="adminForm" enctype="multipart/form-data">
<input name="expiration_date" type="text" size="10" value="<?php echo $row->expiration_date; ?>">
</td>
<td>&nbsp;</td>
</tr>
Теперь все сохраняется
Теперь бы хотел узнать, правильной код собрал ?
Можно его использовать ?
*

omvitamin

  • Осваиваюсь на форуме
  • 33
  • 0 / 1
Что-то не получается чтоб срок был 30 дней.  У меня после добавления объявы табличка пишет (Поздравляем, Ваша объявление удачно добавлено! Срок публикации 0 дней.) и реально объява опубликовывается на 0 дней!
Поле я поставил не обязательным. А вот если я поле вообще отключаю, тогда публикуется на 30 дней.

И еще вопрос.  Как бы сделать чтоб срок размещения объявлений был доступен только зарегистрированным пользователям.
А не зарегистрированным это поле не выводилось и естественно срок ставился бы автоматом, указанный в 'ad_delta'


Тоже самое. Публикуется на ноль дней.
*

wtp

  • Осваиваюсь на форуме
  • 26
  • 1 / 0
Подскажите замену кода для adsmanager 2.6
*

apelsin

  • Захожу иногда
  • 129
  • 0 / 1
Для 2.6 кто нибудь смог сделать?
*

Flanker381

  • Осваиваюсь на форуме
  • 25
  • 0 / 0
Для 2.6 кто нибудь смог сделать?

Сделал в 2.6.2

Этот фрагмент кода в данной версии находится в controller.php
*

apelsin

  • Захожу иногда
  • 129
  • 0 / 1
Какой именно код вставил? в controller.php код отличается от того что в первом сообщении
*

Алекс82

  • Захожу иногда
  • 120
  • 4 / 0
  • Совсем новичок
Сделал в 2.6.2

Этот фрагмент кода в данной версии находится в controller.php
Там другой код. Вы какой вставили.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Заглушки с http://placehold.it вместо картинок в списке объявлений

Автор efimov777

Ответов: 6
Просмотров: 5554
Последний ответ 12.04.2020, 07:25:59
от Pavel
Хочу уточнить, есть в AdsManager возможность загрузки объявлений с парсера?

Автор DomBeri

Ответов: 3
Просмотров: 9519
Последний ответ 28.03.2019, 17:20:10
от DomBeri
Удалить карту объявлений Google

Автор trel

Ответов: 7
Просмотров: 3846
Последний ответ 25.03.2019, 09:02:25
от Technic
Вывод объявлений в случайном порядке

Автор Sabotage

Ответов: 3
Просмотров: 1674
Последний ответ 28.09.2018, 14:21:05
от Sabotage
Поля в списке объявлений

Автор klekovkinandrey

Ответов: 0
Просмотров: 1407
Последний ответ 17.01.2018, 10:18:34
от klekovkinandrey