Новости 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

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

Wharfadale

  • Захожу иногда
  • 194
  • 24 / 0
Вчера и сегодня в перерывах между основной разработкой искал модули и плагины, которые смогли бы сделать обрезание моему вводному тексту только на главной.
Точнее, это делают многие и вполне качественно и мне бы это подошло, если бы не одно но. Разработчики, почему-то, совершенно забывают про картинки, которые могут стоять в начале новости.
Исходя из этого, я прошу помочь мне с такой вот вещью: как обрезать по символам вводный текст (только на главной!) так, чтобы тег <img.../> или <IMG.../> не считался? 

БЫло бы шикарно, если это можно реализовать в самом шаблоне главной страницы.
*

Wharfadale

  • Захожу иногда
  • 194
  • 24 / 0
Неужели никаких вариантов?
*

SmokerMan

  • Гуру
  • 5290
  • 720 / 26
Проще переделать плагины.
В принципе думаю можно реализовать через регулярные выражения, но не факт.
По какому критерию должен обрезаться текст?
*

mufosali

  • Захожу иногда
  • 77
  • 3 / 0
  • Щаз бы палЫчку шашлыГа...
Посмотри плагин cutoff, может это то, что тебе нужно. Находится здесь _http://extensions.joomla.org/extensions/content-a-news/articles-summary/8503
« Последнее редактирование: 20.08.2009, 14:19:21 от mufosali »
*

Wharfadale

  • Захожу иногда
  • 194
  • 24 / 0
mufosali, к сожалению, и наши арабские друзья не продумали этот момент полностью. Но выход нашелся.
Самое интересное, что как раз этот плагин у меня и стоял, но не работал полноценно из-за того, что слово ALT было написано в нижнем регистре:)

Единственный минус модуля: отсутствие опционального включения обрезания только на главной. 

Ребят, у меня к вам попутный вопрос: может кто-то реализовал вывод вводных на морде не по столбцам а по строкам? Дело в том, что мне нужно, чтобы вводные (у меня два столбца) имели горизонтальное выравнивание по верху, а для этого они должны идти в табличной строке (ну или в чём-то аналогичном по свойствам), чтобы блок, где вводного текста больше не выступал.
« Последнее редактирование: 20.08.2009, 14:36:47 от Wharfadale »
*

beliyadm

  • Легенда
  • 9758
  • 1665 / 66
  • Севастополь, Россия
Код: php
$test = '<span>text</span>22<img src="images/stories/img.jpg" alt="alttext" /><p>text222</p>';
preg_match_all ('/<\s*img\s+src\s*="\s*("[^"]*"|\'[^\']*\'|[^"\s]+)(.*?)>/i', $test, $result);
echo JURI::base ().$result[1][0];
как пример, а дальше соображайте :)
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

Wharfadale

  • Захожу иногда
  • 194
  • 24 / 0
beliyadm, для меня это злая шутка:)
Но спасибо, посмотрю. Возможно, то, что нужно.
« Последнее редактирование: 20.08.2009, 14:42:36 от Wharfadale »
*

beliyadm

  • Легенда
  • 9758
  • 1665 / 66
  • Севастополь, Россия
ну это была не шутка, это пример, а еще попробуй функцию strip_tags () - она тебе вырежет из текста все хтмл теги
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

Wharfadale

  • Захожу иногда
  • 194
  • 24 / 0
beliyadm, а как применить это чудище? А то я такой великий программист. Потыкал что-то, потыкал... нифига, вобщем:)
*

beliyadm

  • Легенда
  • 9758
  • 1665 / 66
  • Севастополь, Россия
открыть нужный файл components\com_content\views\frontpage\tmpl шаблона что отвечает за главную страницу (либо другой - зависит от структуры сайта и шаблона) и применить функцию к переменной, отвечающей за вывод интротекста в блоге
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

Wharfadale

  • Захожу иногда
  • 194
  • 24 / 0
Re: Как обрезать вводный текст (НЕ readmore)
« Ответ #10 : 20.08.2009, 15:02:07 »
beliyadm, мне легче козу подоить. Я сейчас просто прикручу вывод только на главной и всё.
Спасибо большое за помощь.

Мда... понял, что не получится. Вот строчка из плагина, который может обрезать только на главной. А ниже полный код того плагина, который мне нужен. Может есть такая возможность совокупить их?

Цитировать
 if ($this->param ('Enabled_Front_Page') == 0 and $view=='frontpage') return;



Цитировать
<?php
/**
 * @version $Id: header.php 789 2009-01-26 15:56:03Z elkuku $
 * @package    cutoff
 * @subpackage
 * @author     EasyJoomla {@link http://www.easy-joomla.org Easy-Joomla.org}
 * @author     Ahmed Safaa {@link http://www.sz4h.com}
 * @author     Created on 12-May-2009
 */

//--No direct access
defined ( '_JEXEC' ) or die ( '=;)' );

$mainframe->registerEvent ( 'onPrepareContent', 'cutoff' );
 
/**
 * This plugin will trigger the string {triggercutoff}
 *
 * @param $row
 * @param $params
 * @param $page
 *
 * @return void
 */

function Cutoff ( &$row, &$params, $page=0 )
{
   if (!$row->readmore_link)
   {
      $plugin =& JPluginHelper::getPlugin ('content', 'cutoff');
      $pluginParams   = new JParameter ( $plugin->params );
      
      $enabled   = $pluginParams->get ('enabled');
      $no   = $pluginParams->get ('no');
      $image   = $pluginParams->get ('image');
      $width   = $pluginParams->get ('width');
      $height   = $pluginParams->get ('height');
      $float   = $pluginParams->get ('float');
      $padder   = $pluginParams->get ('padder');
      $margin   = $pluginParams->get ('margin');
      $border   = $pluginParams->get ('border');
      $bwidth   = $pluginParams->get ('bwidth');
      $bstyle   = $pluginParams->get ('bstyle');
      $bcolor   = $pluginParams->get ('bcolor');
      $imglink   = $pluginParams->get ('showimglink');
      $showlink   = $pluginParams->get ('showlink');
      
      $uri = & JFactory::getURI ();
      $id    = $row->id;
      $text = $row->text;
      if ($enabled == 1)
      {
         $regex = "/\<img\s*src\s*=\s*\"([^\"]*)\"[^\>]*\>/";
         preg_match ($regex, $text, $matches);
         
         $img =$matches[1];
         if (isset ($img))
         {
            if ( $image == 1 )
            {
               $style ="";
               
               if ( $float == "left" OR $float == "right")
               {
                  $style .= ' float:' . $float . ';';
               }
               
               if ( $padder == 2 )
               {
                  $style .= ' padding:' . $padder . 'px;';
               }
               
               if ( $margin != 0 )
               {
                  $style .= ' margin:' . $margin . 'px;';
               }
               
               if ( $border == 1 )
               {
                  $style .= ' border: ' . $bwidth . 'px ' . $bstyle . ' ' . $bcolor . ';';
               }
               
               if ( $width != -1 )
               {
                  $w = 'width="' . $width . '" ';
               }
               else
               {
                  $w ='';
               }
               
               if ( $height != -1 )
               {
                  $h = 'height="' . $height . '" ';
               }
               else
               {
                  $h ='';
               }
               if ( $imglink == 1){
                  $html .= '<a href="index.php?option=com_content&view=article&id='.$row->id.'">';
               }
               $html .= '<img src="' . $img. '"' . $w . $h . ' border="0" alt="' . $row->title . '" style="' . $style . '" /></a>';
               if ( $imglink == 1){
                  $html .= '</a>';
               }
            }
         }
         $text = preg_replace ( $regex, '', $text );
         
         if (mb_strlen ($text, 'UTF-8') > $no)
         {
            $html .= (mb_substr ($text, 0, $no, 'UTF-8')). " ... ";
         }
         else
         {
            $html .= $text;
         }
         if ( $showlink == 1){
            if ($row->readmore_register) {
            $html.= JText::_('Register to read more...');
            }
            else
            {
            $html.= '
            <a href="index.php?option=com_content&view=article&id='.$row->id.'" class="readon">
            '. JText::_('Read more...').'</a>
            ';
            }
         }
            $row->text = $html;
         
         $url = JURI::_cleanPath ('index.php?option=com_content&view=article&id='.$row->id);
      }
   }
}//function


?>
« Последнее редактирование: 20.08.2009, 15:10:12 от Wharfadale »
*

Wharfadale

  • Захожу иногда
  • 194
  • 24 / 0
Re: Как обрезать вводный текст (НЕ readmore)
« Ответ #11 : 21.08.2009, 05:34:55 »
Мне, по всей видимости, придётся обращаться к разработчику, чтобы он встроил эту штуку за деньги:))
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Помогите решить ошибку

Автор azumi

Ответов: 21
Просмотров: 4652
Последний ответ 08.09.2020, 18:47:08
от gartes
Ошибка #1050 при переносе базы данных на хостинг

Автор Ksen

Ответов: 7
Просмотров: 24996
Последний ответ 16.03.2020, 17:47:29
от Petrovich
Не работает кнопка отправить ?

Автор warlocksp

Ответов: 6
Просмотров: 1679
Последний ответ 10.03.2017, 11:34:50
от warlocksp
Joomla 1.5.23 обновление до самой новой версии

Автор AlexeyPavlov

Ответов: 6
Просмотров: 3076
Последний ответ 12.08.2015, 16:30:53
от SeBun
Где найти перечень отличий версий Joomla 1.5?

Автор ABCroNews

Ответов: 3
Просмотров: 9921
Последний ответ 28.07.2015, 12:35:00
от ShniderHost