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

49volro

  • Осваиваюсь на форуме
  • 12
  • 0 / 0
Как сделать чтобы кнопка "подробнее" появлялась и в архивных материалах? В обычных статьях всё работает.
« Последнее редактирование: 31.03.2014, 11:50:43 от b2z »
*

adamsage

  • Новичок
  • 3
  • 0 / 0
Re: Архивные материалы без "подробнее"
« Ответ #1 : 06.09.2013, 10:54:17 »
Точно такая же проблема, ещё   и картинки материала у меня не отображаются,  ни кто не ответил я решения не нашел!
*

49volro

  • Осваиваюсь на форуме
  • 12
  • 0 / 0
Re: Архивные материалы без "подробнее"
« Ответ #2 : 29.09.2013, 21:25:41 »
Всё ещё актуально.
*

DimonSX

  • Осваиваюсь на форуме
  • 16
  • 0 / 0
Re: Архивные материалы без "подробнее"
« Ответ #3 : 31.03.2014, 03:32:54 »
Доброго времени...!
- вопрос даже не сдвинулся с точки... (
перерыл много статей, так и не нашел ответа на вопрос...
кто-то смог решить сей вопрос...?!
- вопрос еще актуален...
нам кто-нибудь может помочь с таким вопросом...?!
*

Grigory S.

  • Давно я тут
  • 658
  • 70 / 0
  • (с)
Re: Архивные материалы без "подробнее"
« Ответ #4 : 31.03.2014, 11:12:48 »
1) Копируем файл components/com_content/views/archive/tmpl/default_items.php в Ваш шаблон по пути templates/ВАШ_ШАБЛОН/html/com_content/archive/ (или редактируем если он уже там есть)
2) Открываем default_items.php
3) В нужном месте внутри цикла foreach вставляем код:
Код
	<p class="readmore">
        <a class="btn" href="<?php echo JRoute::_(ContentHelperRoute::getArticleRoute($item->slug, $item->catslug)); ?>">
            <?php echo JText::_('COM_CONTENT_READ_MORE'); ?>
            <span class="icon-chevron-right"></span>
        </a>
    </p>
Не задав правильный вопрос, невозможно получить правильный ответ.
Для "спасибок" существует кнопочка "+".
*

b2z

  • Глобальный модератор
  • 7288
  • 778 / 0
  • Разраблю понемногу
Re: Архивные материалы с "подробнее"
« Ответ #5 : 31.03.2014, 11:48:59 »
Почти так. Если брать совсем правильно (с учетом настроек), то код должен быть таким:

Код: php
<?php if ($params->get('show_readmore') && $item->readmore) :
if ($item->params->get('access-view')) :
$link = JRoute::_(ContentHelperRoute::getArticleRoute($item->slug, $item->catslug));
else :
$menu = JFactory::getApplication()->getMenu();
$active = $menu->getActive();
$itemId = $active->id;
$link1 = JRoute::_('index.php?option=com_users&view=login&Itemid=' . $itemId);
$returnURL = JRoute::_(ContentHelperRoute::getArticleRoute($item->slug, $item->catslug));
$link = new JUri($link1);
$link->setVar('return', base64_encode($returnURL));
endif; ?>

<p class="readmore"><a class="btn" href="<?php echo $link; ?>"> <span class="icon-chevron-right"></span>

<?php if (!$item->params->get('access-view')) :
echo JText::_('COM_CONTENT_REGISTER_TO_READ_MORE');
elseif ($readmore = $item->alternative_readmore) :
echo $readmore;
if ($params->get('show_readmore_title', 0)!= 0) :
echo JHtml::_('string.truncate', ($item->title), $params->get('readmore_limit'));
endif;
elseif ($params->get('show_readmore_title', 0) == 0) :
echo JText::sprintf('COM_CONTENT_READ_MORE_TITLE');
else :
echo JText::_('COM_CONTENT_READ_MORE');
echo JHtml::_('string.truncate', ($item->title), $params->get('readmore_limit'));
endif; ?>

</a></p>

<?php endif; ?>

По логике вставить его нужно после:
Код: php
<?php if ($params->get('show_intro')) :?>
<div class="intro"> <?php echo JHtml::_('string.truncateComplex', $item->introtext, $params->get('introtext_limit')); ?> </div>
<?php endif; ?>
*

Grigory S.

  • Давно я тут
  • 658
  • 70 / 0
  • (с)
Re: Архивные материалы с "подробнее"
« Ответ #6 : 31.03.2014, 11:57:23 »
Ну я так сказать упростил, не учитывая настроек :)
Не задав правильный вопрос, невозможно получить правильный ответ.
Для "спасибок" существует кнопочка "+".
*

DimonSX

  • Осваиваюсь на форуме
  • 16
  • 0 / 0
Re: Архивные материалы с "подробнее"
« Ответ #7 : 31.03.2014, 17:35:57 »
- так и думал что нужно править...

Огромное Вам - СПАСИБО...!  *DRINK*
*

DimonSX

  • Осваиваюсь на форуме
  • 16
  • 0 / 0
Re: Архивные материалы с "подробнее"
« Ответ #8 : 01.04.2014, 00:40:40 »
ох уж этот код...)))
описываю метод бездействия и не понятия что с ним делать...

1 - вставляю код в components/com_content/views/archive/tmpl/default_items.php - по методу "после кода по логике"
в стандартных шаблонах все хорошо, все замечательно... за что Огромное спасибо, что показали...

2 - но как только вставляю код или оба кода в файл templates/ВАШ_ШАБЛОН/html/com_content/archive/default_items.php
- выдает ошибки, в зависимости от того куда вставить код:
в одном случае: Parse error: syntax error, unexpected '<' in
в другом случае: Fatal error: Call to a member function get() on a non-object in

2.1. файл в шаблоне такой уже имелся - кода "по логике", куда нужно вставить в шаблонном не обнаружено...
      если копировать и заменить файл из первого варианта, то вся графика или стили - все, все становится наперекосяк...

3. Шаблон использовал от Артиста-4, который сам же и слепил...
-----------------------------------------------------------------------

Помогите пожалуйста, что нужно сделать для быстрого решения данной проблемы, что посоветуете...?!
- не совсем понимаю эти ошибки, не силен в языках кода...

*

b2z

  • Глобальный модератор
  • 7288
  • 778 / 0
  • Разраблю понемногу
Re: Архивные материалы с "подробнее"
« Ответ #9 : 01.04.2014, 10:15:15 »
Ну наш вариант работает только для стандартного макета Joomla. Все эти артистер штучки, это что-то с чем-то...
*

DimonSX

  • Осваиваюсь на форуме
  • 16
  • 0 / 0
Re: Архивные материалы с "подробнее"
« Ответ #10 : 01.04.2014, 21:09:04 »
Да не вызывало как-то проблем, конечно поправка там нужна, но она не вызывала столь чудного напряга... Мне не известны другие программки, а самостоятельно не в силах по знаниям сделать, а в ней разметку+графику как тебе нужно выстроил, помочь и подсказать по CMS тоже некому...

- теперь по теме, сижу вот уже сутки - сравнивая и ковыряя код...

вот то что предлагал kamaz6141, вполне даже работает, но только кнопка снизу или сверху получается,
- никак она не хочет в текст перемещаться... (
 
1) Копируем файл components/com_content/views/archive/tmpl/default_items.php в Ваш шаблон по пути templates/ВАШ_ШАБЛОН/html/com_content/archive/ (или редактируем если он уже там есть)
2) Открываем default_items.php
3) В нужном месте внутри цикла foreach вставляем код:
Код
	<p class="readmore">
        <a class="btn" href="<?php echo JRoute::_(ContentHelperRoute::getArticleRoute($item->slug, $item->catslug)); ?>">
            <?php echo JText::_('COM_CONTENT_READ_MORE'); ?>
            <span class="icon-chevron-right"></span>
        </a>
    </p>

- то что для стандартного шаблона код, он выдает ошибку... вынул код похожий из файла шаблона listitem.php
сделал по теме шаблонного кода, получилось вот что:
но - выдает ошибку Parse error: syntax error, unexpected T_STRING in в строке, которую пометил пунктиром...

Спойлер
[свернуть]

- Можно ли из этого как-то изменить ситуацию?!
-Есть ли какие либо другие альтернативы или совет подарите хотя бы...  :(
*

Grigory S.

  • Давно я тут
  • 658
  • 70 / 0
  • (с)
Re: Архивные материалы с "подробнее"
« Ответ #11 : 01.04.2014, 21:17:42 »
Ну прям в текст вряд-ли получится, вставьте сразу после
Код: php
<?php if ($params->get('show_intro')) :?>
<div class="intro"> <?php echo JHtml::_('string.truncateComplex', $item->introtext, $params->get('introtext_limit')); ?> </div>
<?php endif; ?>
« Последнее редактирование: 01.04.2014, 21:23:57 от kamaz6141 »
Не задав правильный вопрос, невозможно получить правильный ответ.
Для "спасибок" существует кнопочка "+".
*

DimonSX

  • Осваиваюсь на форуме
  • 16
  • 0 / 0
Re: Архивные материалы с "подробнее"
« Ответ #12 : 01.04.2014, 21:27:25 »
пробовал, да и у меня как писал уже нет такого кода, а если его прописывать то ошибка...
с этим кодом в идеале со стандартным шаблоном, но увы у меня от артиста...
*

Grigory S.

  • Давно я тут
  • 658
  • 70 / 0
  • (с)
Re: Архивные материалы с "подробнее"
« Ответ #13 : 01.04.2014, 21:32:42 »
А покажите-ка весь код...а хотя почему-бы не оставить кнопку внизу, раз работает? Не думаю что в тексте между предложениями ей место...
Не задав правильный вопрос, невозможно получить правильный ответ.
Для "спасибок" существует кнопочка "+".
*

DimonSX

  • Осваиваюсь на форуме
  • 16
  • 0 / 0
Re: Архивные материалы с "подробнее"
« Ответ #14 : 01.04.2014, 21:39:34 »
внизу оставить я тоже был бы не против но получается будет между блогами...

вот весь код с рабочей кнопкой снизу:

Код: php
<?php
defined('_JEXEC') or die;

JHtml::addIncludePath(JPATH_COMPONENT . '/helpers');

require_once dirname(dirname(dirname(dirname(__FILE__)))). DIRECTORY_SEPARATOR . 'functions.php';

Artx::load("Artx_Content");

$component = new ArtxContent($this, $this->params);
?>
<ul id="archive-items">
<?php foreach ($this->items as $i => $item) : ?>
    <li class="row<?php echo $i % 2; ?>">
<?php
$article = $component->article('archive', $item, $this->params);
$params = $article->getArticleViewParameters();
if (strlen($article->title)) {
    $params['header-text'] = $this->escape($article->title);
    if (strlen($article->titleLink))
        $params['header-link'] = $article->titleLink;
}
// Change the order of ""if"" statements to change the order of article metadata header items.
if (strlen($article->created))
    $params['metadata-header-icons'][] = "<span class=\"art-postdateicon\">" . $article->createdDateInfo($article->created). "</span>";
if (strlen($article->modified))
    $params['metadata-header-icons'][] = "<span class=\"art-postdateicon\">" . $article->modifiedDateInfo($article->modified). "</span>";
if (strlen($article->published))
    $params['metadata-header-icons'][] = "<span class=\"art-postdateicon\">" . $article->publishedDateInfo($article->published). "</span>";
if (strlen($article->author))
    $params['metadata-header-icons'][] = "<span class=\"art-postauthoricon\">" . $article->authorInfo($article->author, $article->authorLink). "</span>";
if (strlen($article->hits))
    $params['metadata-header-icons'][] = $article->hitsInfo($article->hits);
// Build article content
$content = '';
if (strlen($article->intro))
    $content .= $article->intro($article->intro);
$params['content'] = $content;
// Change the order of ""if"" statements to change the order of article metadata footer items.
if (strlen($article->category))
    $params['metadata-footer-icons'][] = "<span class=\"art-postcategoryicon\">"
        . $article->categories($article->parentCategory, $article->parentCategoryLink, $article->category, $article->categoryLink)
        . "</span>";

// Render article
echo $article->article($params);
?>
    </li>
<?php endforeach; ?>
</ul>

<p class="readmore">
        <a class="readon art-button" href="<?php echo JRoute::_(ContentHelperRoute::getArticleRoute($item->slug, $item->catslug)); ?>">
            <?php echo JText::_('COM_CONTENT_READ_MORE'); ?>
            <span class="icon-chevron-right"></span>
        </a>
    </p>

<div class="pagination">
    <p class="counter">
        <?php echo $this->pagination->getPagesCounter(); ?>
    </p>
    <?php echo $this->pagination->getPagesLinks(); ?>
</div>
*

Grigory S.

  • Давно я тут
  • 658
  • 70 / 0
  • (с)
Re: Архивные материалы с "подробнее"
« Ответ #15 : 01.04.2014, 21:43:50 »
Так Вы в цикл вставьте, перед
Код: php
<?php endforeach; ?>
Не задав правильный вопрос, невозможно получить правильный ответ.
Для "спасибок" существует кнопочка "+".
*

DimonSX

  • Осваиваюсь на форуме
  • 16
  • 0 / 0
Re: Архивные материалы с "подробнее"
« Ответ #16 : 01.04.2014, 21:50:43 »
</li>
т.е. в этом промежутке...?!
<?php endforeach; ?>

так пробовал без изменений...
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться