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

AlexSims

  • Захожу иногда
  • 314
  • 38 / 0
  • кручу верчу
Собрал в кучу некоторые полезные изменения, а именно:

Изменения

1-CAPTCHA при подаче объявления(kcaptcha-работает с кэшированием в отличии от Tincaptchi (у меня она не заработала с кэшом)
2-изменение ввывода текста на главной без крякозябликов и увеличен размер до 200 символов
3-изменение Meta тегов ( description , keywords, title)

1 - CAPTCHA(Kcaptcha)
 adsmanager.php
строка - 1120 ( у меня)
 
Код
 // НАЧАЛО НАШЕГО КОДА кCAPTCHA  by AlexSims
session_start();
if(isset($_SESSION['captcha_keystring'])&&($_SESSION['captcha_keystring']==$_POST['captcha']))
   $_POST['captcha']=1;

       if ($_POST['captcha'] !== 1){
        JError::raiseWarning(403, JText::_( 'Вы ввели неправильные СИМВОЛЫ! Повторите попытку.В течении 5 секунд Вы будите перенаправлены на форму подачи объявления. Если Ваш браузер не поддерживает перенаправления, то щелкните на ссылку' ));

//Перенаправление по ссылке или с задержкой в 8 сек на указаный адрес

        echo '<a href="http://mysite.html"><font size="4px">Ссылка</font></a>';
        header("Refresh:8;URL=/");  

        return false;
}


else
   $_POST['captcha']=0;

//КОНЕЦ КОДА  

adsmanager.html.php
строка 1569

Код
<!--НАЧАЛО КОДА кCAPTCHA AlexSims-->

<?php session_start(); ?><br />
<img src="/kcaptcha/index.php?<?php echo session_name()?>=<?php echo session_id()?>"
 alt="Включите показ картинок в браузере" />
<br />
<label for="adsmanager_captcha">
Введите код с картинки:
</label>
<br />
<input type="text" name="captcha" id="adsmanager_captcha" value="" size="30" maxlength="10" />
<!--КОНЕЦ ДОБАВЛЯЕМОГО КОДА-->

2-Изменения вывода текста на главной
adsmanager.html.php
*строка 509( у меня)
Код
$af_text = JString::substr($row->ad_text, 0, 200)."...";


3-Изменения decsription и т.д.
добавляйте код (  помеченный коммент  //Dynamic Page Meta Discription  ) в функцию  function show_ad


после обращения к базе  
(  $database->setQuery("SELECT a.*, p.name as parent, p.id as parentid, c.name as cat, ........................ и т д
                  
   $database->loadObject($ad);)


Код
str.669
  //Dynamic Page Title category
$mainframe->SetPageTitle( $cat_name );



str.805

//Dynamic Page Title
$mainframe->SetPageTitle( $ad->ad_headline . " - " . $ad->cat  );



       //Dynamic Page Meta Discription
        $des_s = JString::substr($ad->ad_text,0, 150)."...";
        $mainframe->prependMetaTag( "description", $des_s );
        $mainframe->prependMetaTag( "keywords" , $ad->ad_keywords );

Если найду как прикрепить файлы ( то приклеплю описания и все измененые и необходимые)
« Последнее редактирование: 05.06.2010, 22:04:03 от AlexSims »
С фантазией плохо.
*

bargakuzzo

  • Осваиваюсь на форуме
  • 46
  • 3 / 0
А я сделал так к "3-Изменения decsription и т.д.":
adsmanager.php (строка где-то 900-920)


//Dynamic Page Title
   //$mainframe->SetPageTitle( ADSMANAGER_PAGE_TITLE . $ad->cat . " - ". $ad->ad_headline ); заминил на
   $mainframe->SetPageTitle( $ad->ad_headline ." - ". $ad->cat ." - ". ADSMANAGER_PAGE_TITLE );
   
   //Dynamic Page Meta Discription вставил
    $mainframe->prependMetaTag( "description", $ad->ad_headline );
   
   //Dynamic Page Meta Keywords вставил
    $mainframe->prependMetaTag( "keywords", $ad->ad_headline ." ". $ad->ad_text );

- этот код для Meta самого объявления.
*

AlexSims

  • Захожу иногда
  • 314
  • 38 / 0
  • кручу верчу
ну в титле у меня и так в конце приписывается название сайта ( это через артио)
а дескриптион подумал что лучше обрезать часть описания и вставить а то схоже с заголовком

А ключевики у Вас получаются из заголовка и самого текста. Они разбиваются через запятую или весь текст подряд?
У меня просто сам пользователь забивает текст в ключевики(не знаю как сделать чтоб они автоматом формировали и разбивались через запятую, если только попробывать вырвать модуль из форума пхп3 который формирует ключевики, но я не силен в пхп)
вот пример
А это как в форуме формир ключевики
« Последнее редактирование: 19.11.2014, 01:23:05 от AlexSims »
С фантазией плохо.
*

artrox

  • Осваиваюсь на форуме
  • 11
  • 0 / 0
А как сделать,что бы вместо категорий во вкладке "все объявления" выводились фото,как это выглядит в модуле "Последние объявления"?
*

AlexSims

  • Захожу иногда
  • 314
  • 38 / 0
  • кручу верчу
Я добавил поле ключевые слова и такой код
 //Dynamic Page Meta Keywords вставил
    $mainframe->prependMetaTag( "keywords", $ad->ad_keywords);
у меня так же но считаю это не выход для ленивых пользователей( им лень забивать ключевики или такое назабивают что в тексте то и не встретишь)
С фантазией плохо.
*

AlexSims

  • Захожу иногда
  • 314
  • 38 / 0
  • кручу верчу
поправочка  ( после долго юзанья вылетел небольшой глюк - ошибку в старте сессии)
решилось так изменить код
Код
session_start();
на
Код
if (!$_SESSION) session_start();
  в adsmanager.php
и изменить код
Код
<?php session_start(); ?>
на
Код
<?php 
 
if (!$_SESSION) session_start();
?>
  в adsmanager.html.php
С фантазией плохо.
*

AlexSims

  • Захожу иногда
  • 314
  • 38 / 0
  • кручу верчу
Изменения ( после обновления до 1.5.17  CAPTCHA перестала работать)
Сделать изменения:
1-скачать kcaptcha  c сайта ( вдруг что обновилось)
2-добавить код в index.php  в корне сайта
стр 20
Код
// BEGIN PATCH
session_start();
if(isset($_SESSION['captcha_keystring'])&&($_SESSION['captcha_keystring']==$_POST['captcha']))
   $_POST['captcha']=1;
else
   $_POST['captcha']=0;
session_destroy();
// END PATCH

стр 100
Код
// BEGIN PATCH
JSession::close();
// END PATCH

фаил adsmanager.php  стр 1125 ( перед кодом // store it in the db

   if (!$row -> store()) {

      echo "<script> alert('"

         .$row -> getError() )
Код
// НАЧАЛО НАШЕГО КОДА кCAPTCHA  by AlexSims

 
 if ($_POST['captcha'] !== 1){
        JError::raiseWarning(403, JText::_( 'Вы ввели неправильные СИМВОЛЫ! Повторите попытку.В течении 5 секунд
         Вы будите  перенаправлены      на форму подачи объявления. Если Ваш браузер
         не поддерживает перенаправления, то щелкните на ссылку' ));

//Перенаправление по ссылке или с задержкой в 8 сек на указаный адрес

        echo '<a href="/objavleniya.html?page=write_ad"><font size="4px">Ссылка</font></a>';
        header("Refresh:8;URL=/objavleniya.html?page=write_ad"); 

       
     return false;
 
}
//КОНЕЦ КОДА 


фаил adsmanager.html.php  стр 1648 ( перед кодом <!-- buttons -->
            <label for="ad_dummy"> </label>
            <input type="hidden" name="gflag" value="0" />
            <?php
            if (isset($row->date_created))
               echo "<input type='hidden' name='date_created' value='".$row->date_created."' />";   
               )
Код
<!--НАЧАЛО КОДА кCAPTCHA AlexSims-->
<input type="text" name="captcha" id="adsmanager_captcha"  size="10" maxlength="8" />
<img src="<?php JURI::base()?>/kcaptcha/index.php?<?php echo session_name(); ?>=<?php echo session_id(); ?>" alt="Captcha" style="vertical-align:-25px;" />


<label for="adsmanager_captcha">
<br/>
<?php echo JText::_( 'Введите код с картинки' ); ?>:
</label>
<br />

<!--КОНЕЦ ДОБАВЛЯЕМОГО КОДА-->


Работае с кэшем и включеным system-cache plugin .

Осталось решить вопрос чтобы при успешном добавление объявления не кэшировалась форма вывода об удачном добавлении объявления.
С фантазией плохо.
*

GlooM

  • Давно я тут
  • 558
  • 91 / 0
  • AdsManager
Все отлично, решения хорошие :)
Но Вы бы писали в какую функцию вставлять и после каких строк, т.к.
Цитировать
строка - 1120 ( у меня)
не всегда есть у других :)
*

AlexSims

  • Захожу иногда
  • 314
  • 38 / 0
  • кручу верчу
Ну в принципе вывод картинки вставить можно куда угодно( кому как нравиться)
У меня лично так
adsmanager.html.php

  function show_write_form

после кода if (function_exists("editPaidAd")){
               editPaidAd($row);
            }
            
            ?>



и перед кодом <!-- buttons -->
            <label for="ad_dummy"> </label>
            <input type="hidden" name="gflag" value="0" />


adsmanager.php   

  function save_ad

 после кода $redirect_text .= ADSMANAGER_UPDATE_SUCCESSFULL;

   

   if ($isUpdateMode == 0)

   {

      $row->date_created = date("Y-m-d");
               

   }


и перед кодом
// store it in the db

   if (!$row -> store()) {

      echo "<script> alert('"

         .$row -> getError()

         ."'); window.history.go(-1); </script>\n";

      exit();   

   }

   

   if (function_exists("savePaidAd"))



Надеюсь понятно объяснил?
С фантазией плохо.
*

GlooM

  • Давно я тут
  • 558
  • 91 / 0
  • AdsManager
Цитировать
Надеюсь понятно объяснил?
Да, вполне :)
Спасибо :)
*

AlexSims

  • Захожу иногда
  • 314
  • 38 / 0
  • кручу верчу
пожалуйста
С фантазией плохо.
*

Grendy

  • Захожу иногда
  • 247
  • 26 / 0
Цитировать

   //Dynamic Page Meta Discription вставил
    $mainframe->prependMetaTag( "description", $ad->ad_headline );
   
   //Dynamic Page Meta Keywords вставил
    $mainframe->prependMetaTag( "keywords", $ad->ad_headline ." ". $ad->ad_text );

- этот код для Meta самого объявления.

А можно поподробнее, пожалуйста? Что-то не нахожу у себя вообще строчек в adsmanager.php и в adsmanager.html.php, начинающихся на $mainframe->prependMetaTag... Самому вписать нужно?  :o
Плюс в репутацию больше говорит о благодарности, чем слово "Спасибо" в теме, которую повторно, возможно, никогда уже не посетишь.
*

lsk

  • Захожу иногда
  • 362
  • 13 / 5
Нет ли решения по встраиваннию визуального редактора?
*

AlexSims

  • Захожу иногда
  • 314
  • 38 / 0
  • кручу верчу
А можно поподробнее, пожалуйста? Что-то не нахожу у себя вообще строчек в adsmanager.php и в adsmanager.html.php, начинающихся на $mainframe->prependMetaTag... Самому вписать нужно?  :o

если нет    (хорошо поискали в  function show_ad  ?))   то впишите сами  в adsmanager.php
С фантазией плохо.
*

AlexSims

  • Захожу иногда
  • 314
  • 38 / 0
  • кручу верчу
Нет ли решения по встраиваннию визуального редактора?

как бы не требовалось. стандартная форма ввода устраивает.
С фантазией плохо.
*

Grendy

  • Захожу иногда
  • 247
  • 26 / 0
если нет    (хорошо поискали в  function show_ad  ?))   то впишите сами  в adsmanager.php
Хорошо поискал. Не было, вписал предложенные Вами. В итоге, при просмотре исходного кода страницы, поля дескрипшн и киворд получаются абсолютно пустыми:

  <meta name="keywords" content=" " />
  <meta name="description" content="" />

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

AlexSims

  • Захожу иногда
  • 314
  • 38 / 0
  • кручу верчу
все правильно создайте поля ( где пользователь будет писать ключевые слова сам) а они потом в кейвродс попадут

какая у вас версия адсманаджера? возможно там за заголовок другая переменная отвечает.
поясню по коду чтоб понятно было
//Dynamic Page Meta Discription
        $des_s = JString::substr($ad->ad_text,0, 150)."...";
        $mainframe->prependMetaTag( "description", $des_s );
        $mainframe->prependMetaTag( "keywords" , $ad->ad_keywords );



ad_text    - отвечает за описание объявления (непосредственно тот текст который пользователь набирает в теле объявления)в соответствии  должно быть такое поле ( в данном коде береться этот текст обрезается до 150 символов и отправляется в description )
ad_keywords  - ключевые слова ( помимо кода , создается в админке соответвственное поле, в последствии пользователь при наборе объявления сам указывает ключевые слова)

Надеюсь понятно объяснил?
« Последнее редактирование: 05.06.2010, 18:20:36 от AlexSims »
С фантазией плохо.
*

AlexSims

  • Захожу иногда
  • 314
  • 38 / 0
  • кручу верчу
если хотите чтобы ключевики автоматом формировались из тела объявления ( то пишите код который будет обрабатывать текст ( от пробела до пробела) сравнивать и наиболее часто встречающиеся слова подставлять в ключевики),
« Последнее редактирование: 05.06.2010, 20:15:58 от AlexSims »
С фантазией плохо.
*

Grendy

  • Захожу иногда
  • 247
  • 26 / 0
какая у вас версия адсманаджера?
Версия 2.2.2. За описание отвечает ad_text, но поля всё же остаются пустыми, если использовать предоставленный код... :( Если убираешь $ad-> - тогда в поле будет писать то, что написано после $ad->. Вставляешь $ad-> - всё, поле абсолютно пустое...
Плюс в репутацию больше говорит о благодарности, чем слово "Спасибо" в теме, которую повторно, возможно, никогда уже не посетишь.
*

AlexSims

  • Захожу иногда
  • 314
  • 38 / 0
  • кручу верчу
Версия 2.2.2. За описание отвечает ad_text, но поля всё же остаются пустыми, если использовать предоставленный код... :( Если убираешь $ad-> - тогда в поле будет писать то, что написано после $ad->. Вставляешь $ad-> - всё, поле абсолютно пустое...
в личку написал
С фантазией плохо.
*

stef21

  • Захожу иногда
  • 156
  • 8 / 0
А как увеличить число символов в описании категорий на 2.5 ?
*

Dimm555

  • Захожу иногда
  • 103
  • 6 / 0
А как сделать в AdsManager 2.6 тоже в объявлениях собственный keywords и description, либо чтобы тянуло из созданных и заполненных вручную полей? Готов немного заплатить.
Понимаю что скорее всего в "/com_adsmanager/views/details/view.html.php" надо добавить что-нибудь типа этого, но не знаю как правильно:
Код
$document =& JFactory::getDocument();
$joomla = JFactory::getApplication();
$params = $joomla->getParams();

$keywords = $params->get('keywords', ad_klyuchi);
$description = $params->get('description', ad_opisanie);

$document->setMetadata('keywords', $keywords);
$document->setDescription($description);
*

AlexSims

  • Захожу иногда
  • 314
  • 38 / 0
  • кручу верчу
про адс 2.5 и 2.6  я не знаю.
С фантазией плохо.
*

Dimm555

  • Захожу иногда
  • 103
  • 6 / 0
Это печально:) Очень нужная вещь для голой 2.6 версии. Из-за одинаковой меты для всех страниц сайта у меня Яндекс не главную ставит по запросу "объявления в .....", а какое-то объявление:). Ладно, буду искать фриланса.
*

Alex89

  • Давно я тут
  • 555
  • 198 / 1
  • Joomlaman :)
Цитировать
А как сделать в AdsManager 2.6 тоже в объявлениях собственный keywords и description
В последней сборке 2.6.5 это стандартная фича
Увеличить посещаемость сайта помогут здесь - http://tinyurl.com/kpaprwy
Если помог, ткните "крестик" в репу!
*

Dimm555

  • Захожу иногда
  • 103
  • 6 / 0
Alex89, установил последнюю версию 2.6.5 с Joomprod.com, но мета по-прежнему общая, и никаких настроек или полей в админке компонента, к сожалению, не нашел.
*

Alex89

  • Давно я тут
  • 555
  • 198 / 1
  • Joomlaman :)
Цитировать
Alex89, установил последнюю версию 2.6.5 с Joomprod.com
качать надо было последний билд с репы (репозиторий, хранилище)! http://91.121.24.220/redmine/projects/adsmanager/repository/changes/trunk/pack_free_adsmanager_unzipfirst.zip
Увеличить посещаемость сайта помогут здесь - http://tinyurl.com/kpaprwy
Если помог, ткните "крестик" в репу!
*

Dimm555

  • Захожу иногда
  • 103
  • 6 / 0
Ага, спасибо! Поставил, да, есть ручное мета.
*

melnik

  • Захожу иногда
  • 51
  • 3 / 0
качать надо было последний билд с репы
поставил эту версию, но description как был, так и остался один для всего сайта.
*

Dimm555

  • Захожу иногда
  • 103
  • 6 / 0
поставил эту версию, но description как был, так и остался один для всего сайта.
Там в админке необходимо включить Configuration \ General \ Metadata и выбрать нужный тебе вариант. Но у меня клюк - через админку \ ads не удаляет и не меняет фото, видимо из-за загрузчика фотографий.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

[Решено]Дублирования ссылки "объвления" в breadcrumb, в компоненте AdsManager

Автор nicklas

Ответов: 4
Просмотров: 3982
Последний ответ 25.04.2024, 23:13:18
от Rinat abzyi
AdsManager вывод нужных полей по отдельности

Автор klekovkinandrey

Ответов: 2
Просмотров: 14509
Последний ответ 06.04.2024, 09:54:15
от Rinat abzyi
AdsManager загрузка файлов

Автор FlexNL

Ответов: 1
Просмотров: 3239
Последний ответ 21.10.2021, 17:20:09
от khan-alex
AdsManager 2.9.13 Есть ли возможность добавить функцию снять с публикации по мимо редактировать и уд

Автор murovoz

Ответов: 11
Просмотров: 13622
Последний ответ 27.03.2020, 22:39:23
от Pavel
Два компонента AdsManager в одном движке

Автор kaman62

Ответов: 12
Просмотров: 28856
Последний ответ 27.03.2020, 22:32:04
от Pavel