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

a-two

  • Осваиваюсь на форуме
  • 47
  • 0 / 0
Заглавная фотография
« : 12.01.2015, 23:25:39 »
Подскажите пожалуйста, как сделать заглавную фотографию кликабельной.
Чтоб можно было мышкой нажать и перейти сразу в статью?! Сайт: http://truefitment.com
*

kik84

  • Завсегдатай
  • 1350
  • 64 / 4
Re: Заглавная фотография
« Ответ #1 : 13.01.2015, 10:35:44 »
Это блог категории?
*

ShfVD

  • Давно я тут
  • 871
  • 65 / 0
Re: Заглавная фотография
« Ответ #2 : 13.01.2015, 11:07:10 »
Поместить div с фото в тэг <a>

Код
<a href="/categories/custom/true-shoebox-bf-garage-ford-deluxe-1951"> 
<div class="article-image">
<img class="juimage juimg-featured" border="0" title="" alt="" src="/images/true-shoebox/true-shoebox-01.jpg">
</div>
</a>
*

a-two

  • Осваиваюсь на форуме
  • 47
  • 0 / 0
Re: Заглавная фотография
« Ответ #3 : 13.01.2015, 11:23:18 »
Это блог категории?
да
*

a-two

  • Осваиваюсь на форуме
  • 47
  • 0 / 0
Re: Заглавная фотография
« Ответ #4 : 13.01.2015, 11:23:48 »
Поместить div с фото в тэг <a>

Код
<a href="/categories/custom/true-shoebox-bf-garage-ford-deluxe-1951"> 
<div class="article-image">
<img class="juimage juimg-featured" border="0" title="" alt="" src="/images/true-shoebox/true-shoebox-01.jpg">
</div>
</a>
получается надо вручную к каждой записи прописывать?
*

ShfVD

  • Давно я тут
  • 871
  • 65 / 0
Re: Заглавная фотография
« Ответ #5 : 13.01.2015, 11:34:20 »
Я так понимаю, это превью статьи, тобиш материала?
Думаю, нужно найти шаблон где/чем выводится <div class="article-image"> и там исправить.
*

a-two

  • Осваиваюсь на форуме
  • 47
  • 0 / 0
Re: Заглавная фотография
« Ответ #6 : 13.01.2015, 11:47:30 »
Я так понимаю, это превью статьи, тобиш материала?
Думаю, нужно найти шаблон где/чем выводится <div class="article-image"> и там исправить.
совершенно верно. это превью статьи
вот я и подумал может мне на этом форуме подскажут где найти и что именно исправить
« Последнее редактирование: 13.01.2015, 11:56:18 от a-two »
*

a-two

  • Осваиваюсь на форуме
  • 47
  • 0 / 0
Re: Заглавная фотография
« Ответ #7 : 13.01.2015, 12:02:25 »
Думаю, нужно найти шаблон где/чем выводится <div class="article-image"> и там исправить.
нашел <div class="article-image"> в папке: шаблон/html/com_content/article/default.php
а на что теперь надо исправить <div class="article-image"> ?!
*

ShfVD

  • Давно я тут
  • 871
  • 65 / 0
Re: Заглавная фотография
« Ответ #8 : 13.01.2015, 13:11:09 »
Цитировать
а на что теперь надо исправить <div class="article-image"> ?!
Его как раз править не надо.
Нужно заключить в тег <a>, если самому не получается, выложите под спойлер
текст default.php
*

a-two

  • Осваиваюсь на форуме
  • 47
  • 0 / 0
Re: Заглавная фотография
« Ответ #9 : 13.01.2015, 13:25:00 »
вот весь код!
Код
<?php
// no direct access
defined('_JEXEC') or die;

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

// Create shortcuts to some parameters.
$params = $this->item->params;
$images = json_decode(isset($this->item->images)? $this->item->images : null);
$urls = json_decode(isset($this->item->urls)? $this->item->urls : null);
$canEdit = $this->item->params->get('access-edit');
$user = JFactory::getUser();
?>
<div class="item-page<?php echo $this->pageclass_sfx?>">
<?php if ($this->params->get('show_page_heading', 1)) : ?>
<h1 class="componentheading">
<?php echo $this->escape($this->params->get('page_heading')); ?>
</h1>
<?php endif; ?>
<?php if ($params->get('show_title')) : ?>
<h2 class="contentheading">
<?php if ($params->get('link_titles') && !empty($this->item->readmore_link)) : ?>
<a href="<?php echo $this->item->readmore_link; ?>">
<?php echo $this->escape($this->item->title); ?></a>
<?php else : ?>
<?php echo $this->escape($this->item->title); ?>
<?php endif; ?>
</h2>
<?php endif; ?>
<?php $useDefList = (($params->get('show_author')) OR ($params->get('show_category')) OR ($params->get('show_parent_category'))
OR ($params->get('show_create_date')) OR ($params->get('show_modify_date')) OR ($params->get('show_publish_date'))
OR ($params->get('show_hits'))); ?>

<?php if ($useDefList || $canEdit ||  $params->get('show_print_icon') || $params->get('show_email_icon')) : ?>
<div class="article-tools clearfix">
<?php if ($canEdit ||  $params->get('show_print_icon') || $params->get('show_email_icon')) : ?>
<ul class="actions">
<?php if (!$this->print) : ?>
<?php if ($params->get('show_print_icon')) : ?>
<li class="print-icon">
<?php echo JHtml::_('icon.print_popup',  $this->item, $params); ?>
</li>
<?php endif; ?>

<?php if ($params->get('show_email_icon')) : ?>
<li class="email-icon">
<?php echo JHtml::_('icon.email',  $this->item, $params); ?>
</li>
<?php endif; ?>

<?php if ($canEdit) : ?>
<li class="edit-icon">
<?php echo JHtml::_('icon.edit', $this->item, $params); ?>
</li>
<?php endif; ?>

<?php else : ?>
<li>
<?php echo JHtml::_('icon.print_screen',  $this->item, $params); ?>
</li>
<?php endif; ?>

</ul>
<?php endif; ?>

<?php  if (!$params->get('show_intro')) :
echo $this->item->event->afterDisplayTitle;
endif; ?>
<?php echo $this->item->event->beforeDisplayContent; ?>

<?php if ($useDefList) : ?>
<dl class="article-info">
<?php endif; ?>
<?php if ($params->get('show_parent_category') && $this->item->parent_slug != '1:root') : ?>
<dd class="parent-category-name">
<?php $title = $this->escape($this->item->parent_title);
$url = '<a href="'.JRoute::_(ContentHelperRoute::getCategoryRoute($this->item->parent_slug)).'">'.$title.'</a>';?>
<?php if ($params->get('link_parent_category') AND $this->item->parent_slug) : ?>
<?php echo JText::sprintf('COM_CONTENT_PARENT', $url); ?>
<?php else : ?>
<?php echo JText::sprintf('COM_CONTENT_PARENT', $title); ?>
<?php endif; ?>
</dd>
<?php endif; ?>
<?php if ($params->get('show_category')) : ?>
<dd class="category-name">
<?php $title = $this->escape($this->item->category_title);
$url = '<a href="'.JRoute::_(ContentHelperRoute::getCategoryRoute($this->item->catslug)).'">'.$title.'</a>';?>
<?php if ($params->get('link_category') AND $this->item->catslug) : ?>
<?php echo JText::sprintf('JACOM_CONTENT_CATEGORY', $url); ?>
<?php else : ?>
<?php echo JText::sprintf('JACOM_CONTENT_CATEGORY', $title); ?>
<?php endif; ?>
</dd>
<?php endif; ?>
<?php if ($params->get('show_create_date')) : ?>
<dd class="create">
<strong><?php echo JText::_('JACOM_CONTENT_CREATED_DATE_ON'); ?></strong>
<?php
$createDay = date('d', strtotime( $this->item->created ));
$createMonth = JText::_(strtoupper(date('F', strtotime( $this->item->created )))."_SHORT");
$createYear = date('Y', strtotime( $this->item->created ));
?>
<span class="date"><?php echo $createDay; ?></span>
<span class="month-year">
<span class="month"><?php echo $createMonth; ?></span>
<span class="year"><?php echo $createYear; ?></span>
</span>
</dd>
<?php endif; ?>
<?php if ($params->get('show_modify_date')) : ?>
<dd class="modified">
<strong><?php echo JText::_('JACOM_CONTENT_LAST_UPDATED'); ?></strong>
<?php
$createDay = date('d', strtotime( $this->item->modified ));
$createMonth = JText::_(strtoupper(date('F', strtotime( $this->item->modified )))."_SHORT");
$createYear = date('Y', strtotime( $this->item->modified ));
?>
<span class="date"><?php echo $createDay; ?></span>
<span class="month-year">
<span class="month"><?php echo $createMonth; ?></span>
<span class="year"><?php echo $createYear; ?></span>
</span>
</dd>
<?php endif; ?>
<?php if ($params->get('show_publish_date')) : ?>
<dd class="published">
<strong><?php echo JText::_('JACOM_CONTENT_PUBLISHED_DATE'); ?></strong>
<?php
$createDay = date('d', strtotime( $this->item->publish_up ));
$createMonth = JText::_(strtoupper(date('F', strtotime( $this->item->publish_up )))."_SHORT");
$createYear = date('Y', strtotime( $this->item->publish_up ));
?>
<span class="date"><?php echo $createDay; ?></span>
<span class="month-year">
<span class="month"><?php echo $createMonth; ?></span>
<span class="year"><?php echo $createYear; ?></span>
</span>
</dd>
<?php endif; ?>
<?php if ($params->get('show_author') && !empty($this->item->author)) : ?>
<dd class="createdby">
<?php $author =  $this->item->author; ?>
<?php $author = ($this->item->created_by_alias ? $this->item->created_by_alias : $author);?>

<?php if (!empty($this->item->contactid ) &&  $params->get('link_author') == true):?>
<?php echo JText::sprintf('JACOM_CONTENT_WRITTEN_BY' ,
JHTML::_('link',JRoute::_('index.php?option=com_contact&view=contact&id='.$this->item->contactid),$author)); ?>

<?php else :?>
<?php echo JText::sprintf('JACOM_CONTENT_WRITTEN_BY', $author); ?>
<?php endif; ?>
</dd>
<?php endif; ?>
<?php if ($params->get('show_hits')) : ?>
<dd class="hits">
<?php echo JText::sprintf('COM_CONTENT_ARTICLE_HITS', $this->item->hits); ?>
</dd>
<?php endif; ?>
<?php if ($useDefList) : ?>
</dl>
<?php endif; ?>
</div>
<?php endif; ?>

<div class="article-content">
<?php
//get images
$regex = '#<img[^>]*>#';
$image = '';
if (preg_match ($regex, $this->item->text, $matches)) {
 $image = $matches[0];
 $this->item->text = str_replace ($image, '', $this->item->text);
}
?>
<?php if ($image) : ?>
<div class="article-image">
<?php echo $image ?>
</div>
<?php endif; ?>

<?php if (isset ($this->item->toc)) : ?>
<?php echo $this->item->toc; ?>
<?php endif; ?>
<?php if ($params->get('access-view')):?>

<?php  if (isset($images->image_fulltext) and !empty($images->image_fulltext)) : ?>
<?php $imgfloat = (empty($images->float_fulltext))? $params->get('float_fulltext') : $images->float_fulltext; ?>
<div class="img-fulltext-<?php echo htmlspecialchars($imgfloat); ?>">
<img
<?php if ($images->image_fulltext_caption):
echo 'class="caption"'.' title="' .htmlspecialchars($images->image_fulltext_caption).'"';
endif; ?>
src="<?php echo htmlspecialchars($images->image_fulltext); ?>" alt="<?php echo htmlspecialchars($images->image_fulltext_alt); ?>"/>
</div>
<?php endif; ?>

<?php echo $this->item->text; ?>

<?php //optional teaser intro text for guests ?>
<?php elseif ($params->get('show_noauth') == true AND  $user->get('guest') ) : ?>
<?php echo $this->item->introtext; ?>
<?php //Optional link to let them register to see the whole article. ?>
<?php if ($params->get('show_readmore') && $this->item->fulltext != null) :
$link1 = JRoute::_('index.php?option=com_users&view=login');
$link = new JURI($link1);?>
<p class="readmore">
<a href="<?php echo $link; ?>">
<?php $attribs = json_decode($this->item->attribs);  ?>
<?php
if ($attribs->alternative_readmore == null) :
echo JText::_('COM_CONTENT_REGISTER_TO_READ_MORE');
elseif ($readmore = $this->item->alternative_readmore) :
echo $readmore;
if ($params->get('show_readmore_title', 0)!= 0) :
    echo JHtml::_('string.truncate', ($this->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', ($this->item->title), $params->get('readmore_limit'));
endif; ?></a>
</p>
<?php endif; ?>
<?php endif; ?>
</div>
</div>
*

ShfVD

  • Давно я тут
  • 871
  • 65 / 0
Re: Заглавная фотография
« Ответ #10 : 13.01.2015, 13:49:34 »
переименуйте существующий default.php во что либо (для отката, если будет нужно)
скопируйте туда исправленный, переименовав в default.php
*

a-two

  • Осваиваюсь на форуме
  • 47
  • 0 / 0
Re: Заглавная фотография
« Ответ #11 : 13.01.2015, 16:57:22 »
переименуйте существующий default.php во что либо (для отката, если будет нужно)
скопируйте туда исправленный, переименовав в default.php
спасибо большое, щас попробую!
*

a-two

  • Осваиваюсь на форуме
  • 47
  • 0 / 0
Re: Заглавная фотография
« Ответ #12 : 13.01.2015, 17:03:12 »
работает! но только в самой статье, а хочется чтоб именно это было на лицевой сайта!
попробовал тот же код заменить во всех .php файлах где есть <div class="article-image">
работает, но при нажатии, перехода в саму статью не происходит, обновляется лишь просто та страница на которой в данной момент мы находимся!  :(

что то видимо в этом коде надо поправить?!
Код
<?php if ($image) : ?>
<a href="<?php echo $this->item->readmore_link; ?>">
<div class="article-image">
<?php echo $image ?>
</div>
</a>
<?php endif; ?>
« Последнее редактирование: 13.01.2015, 18:49:01 от a-two »
*

ShfVD

  • Давно я тут
  • 871
  • 65 / 0
Re: Заглавная фотография
« Ответ #13 : 13.01.2015, 19:00:21 »
Смотрите, за вывод блога категорий отвечает шаблон, но расположенный в одном из файлов
\components\com_content\views\category\tmpl\, поишите где, по идее
\components\com_content\views\category\tmpl\blog_item.php
Опять же для переопределения (чтобы не "слетели" изменения при обновлении сайта) нужно будет в папку
 шаблон/html создать папки /html/com_content/category/ поместить исправленный файл.



*

ShfVD

  • Давно я тут
  • 871
  • 65 / 0
Re: Заглавная фотография
« Ответ #14 : 13.01.2015, 19:05:37 »
В блоге категорий стоит название материала со ссылкой на статью
Код
<div class="contentpaneopen clearfix">
<h2 class="contentheading">
<a href="/categories/custom/true-shoebox-bf-garage-ford-deluxe-1951"> True Shoebox - BF Garage's Ford Deluxe 1951</a>
</h2>
Вот по аналогии нужно найти в шаблоне
<h2 class="contentheading">
посмотреть как там формируется адрес <a href="/categories/custom/true-shoebox-bf-garage-ford-deluxe-1951">
и подставить
« Последнее редактирование: 13.01.2015, 19:10:31 от ShfVD »
*

a-two

  • Осваиваюсь на форуме
  • 47
  • 0 / 0
Re: Заглавная фотография
« Ответ #15 : 13.01.2015, 19:14:26 »
<h2 class="contentheading">
посмотреть как там формируется адрес <a href="/categories/custom/true-shoebox-bf-garage-ford-deluxe-1951">
и подставить
вот как там формируется данный код
Код
<?php if ($params->get('show_title')) : ?>
<h2 class="contentheading">
<?php if ($params->get('link_titles') && $params->get('access-view')) : ?>
<a href="<?php echo JRoute::_(ContentHelperRoute::getArticleRoute($this->item->slug, $this->item->catid)); ?>">
<?php echo $this->escape($this->item->title); ?></a>
<?php else : ?>
<?php echo $this->escape($this->item->title); ?>
<?php endif; ?>
</h2>
<?php endif; ?>
*

ShfVD

  • Давно я тут
  • 871
  • 65 / 0
Re: Заглавная фотография
« Ответ #16 : 13.01.2015, 19:18:50 »
Вполне логично, я то не подумал, что фрагмент страницы повторяется, но
Код
<a href="<?php echo $this->item->readmore_link; ?>">
это ссылка на самою себя, ее похоже и надо заменить на
Код
<a href="<?php echo JRoute::_(ContentHelperRoute::getArticleRoute($this->item->slug, $this->item->catid)); ?>">
честно признаться в рнр плаваю
*

a-two

  • Осваиваюсь на форуме
  • 47
  • 0 / 0
Re: Заглавная фотография
« Ответ #17 : 13.01.2015, 19:21:20 »
ага. да всё заработало как я и хотел! спасибо вам большое за помощь!  :D ;D

вот готовый код
Код
?>
<?php if ($image) : ?>
<a href="<?php echo JRoute::_(ContentHelperRoute::getArticleRoute($this->item->slug, $this->item->catid)); ?>">
<div class="article-image">
<?php echo $image ?>
</div>
</a>
<?php endif; ?>
*

ShfVD

  • Давно я тут
  • 871
  • 65 / 0
Re: Заглавная фотография
« Ответ #18 : 13.01.2015, 19:22:15 »
Соответственно в материале default оставить без изменений (исходный),
да не за что ;)
*

a-two

  • Осваиваюсь на форуме
  • 47
  • 0 / 0
Re: Заглавная фотография
« Ответ #19 : 13.01.2015, 19:30:26 »
а можете ещё подсказать как кнопку подробнее по середине сделать а не с права?!
http://truefitment.com
*

ShfVD

  • Давно я тут
  • 871
  • 65 / 0
Re: Заглавная фотография
« Ответ #20 : 13.01.2015, 19:53:00 »
Похоже у Вас файлы CSS компилируются, посему желательно создать свой для правок,
 подключить его в шаблоне и вносить туда правки.
 
Код
.contentpaneopen p.readmore {
margin: 10px auto 0;
width: 154px; /* подобрать нужную ширину */
}

http://bit.ly/1y7T1sx

contentpaneopen p.readmore - это если писать свойство отдельно, либо в своем файле, либо добавить в любой CSS,
если править то
p.readmore
*

a-two

  • Осваиваюсь на форуме
  • 47
  • 0 / 0
Re: Заглавная фотография
« Ответ #21 : 13.01.2015, 20:29:59 »
Похоже у Вас файлы CSS компилируются, посему желательно создать свой для правок,
 подключить его в шаблоне и вносить туда правки.
 
Код
.contentpaneopen p.readmore {
margin: 10px auto 0;
width: 154px; /* подобрать нужную ширину */
}

http://bit.ly/1y7T1sx

contentpaneopen p.readmore - это если писать свойство отдельно, либо в своем файле, либо добавить в любой CSS,
если править то
p.readmore

ооо, классно! спасибо большое и за это!
*

a-two

  • Осваиваюсь на форуме
  • 47
  • 0 / 0
Re: Заглавная фотография
« Ответ #22 : 13.01.2015, 21:15:01 »
А ещё можно вопросик?!  ::)

Как мне сделать видео-плеер проигрывателя (в конце статьи), чтоб он не выходил за рамки границы самой статьи?
Я в плагине плеера выставил ширину разрешение самого плеера по странице.
На PC это выгладит как положено, но стоит зайти через мобильник, видно, что плеер съехал с границ экрана?!
http://truefitment.com/categories/stance/luxury-from-the-last-century
*

ShfVD

  • Давно я тут
  • 871
  • 65 / 0
Re: Заглавная фотография
« Ответ #23 : 13.01.2015, 22:11:02 »
Чисто с фронтэнда задачу решить сложно (неясно у кого от чего ноги растут), вижу 2 момента
почему выезжает за экран, но кто ставит?
http://bit.ly/14RMQMx
В первом случае лучше поставить не 1200, а 100%, это есть в стилях CSS,
а вот фрейм имеет свои стили и можно ли их подправить своими CSS вапрос.
Какой я вижу выход.
Поиграться настройками и понять где они меняются (там где указал?)
Подобрать нужные под размеры разрешений мобилок (понять какие размеры нужны) и,
если это можно менять через CSS, добавить медиа запросы (@media) - это запросы, которые подстраивают стили
под размеры окна браузера (погуглив, найдете)
Кстати на плпншете не смог открыть Categories, и вообще меню ныдо бы переделать под мобильные ;)
*

a-two

  • Осваиваюсь на форуме
  • 47
  • 0 / 0
Re: Заглавная фотография
« Ответ #24 : 13.01.2015, 22:17:27 »
хочется плеер сделать в таких же настройках как и фото. так как фото автоматически подстраивается под размер мобильных устройств. Categories открывается по стрелке с боку на кнопке Categories. как вариант есть всё меню в footer'е

если честно то хотел бы полностью под мобильники сделать мобильную версию сайта. пока не знаю как это реализовать
« Последнее редактирование: 13.01.2015, 22:21:46 от a-two »
*

ShfVD

  • Давно я тут
  • 871
  • 65 / 0
Re: Заглавная фотография
« Ответ #25 : 13.01.2015, 22:28:00 »
Да растянул кнопку на пол экрана, тычу-тычу....
На мобильном сдуру ума раз получилось.
Я понимаю, пальцы толстые.....
Цитировать
так как фото автоматически подстраивается под размер мобильных устройств
а здесь все в рамках закона, ставь размер в % и html+css подстроят, т.к. они понимают что такое изображение.
До видео пока не добрались.
Так что придется подстраивать окно вывода. Если можно задавать % а не рх поиграйтесь.
*

a-two

  • Осваиваюсь на форуме
  • 47
  • 0 / 0
Re: Заглавная фотография
« Ответ #26 : 13.01.2015, 22:33:57 »
хорошо. спасибо. попробую
не плагин не может в % выставлять разрешение. только в px.
*

a-two

  • Осваиваюсь на форуме
  • 47
  • 0 / 0
Re: Заглавная фотография
« Ответ #27 : 14.01.2015, 18:15:42 »
Если можно задавать % а не рх поиграйтесь.
отлично, всё сработало! выставил плееру значение 100% и вауля!
правда пришлось вручную прописать "100%" каждому ролику, так как AllVideos Plugin не может в % выставлять значение.
спасибо вам ещё раз большое за помощь!  :D :D :D
« Последнее редактирование: 14.01.2015, 18:42:05 от a-two »
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться