Новости Joomla

Joomla 6 нуждается в вашей помощи с тестированием.Вышел недавно релиз Joomla 6 alpha1

Joomla 6 нуждается в вашей помощи с тестированием.Вышел недавно релиз Joomla 6 alpha1

👩‍💻 Joomla 6 нуждается в вашей помощи с тестированием.Вышел недавно релиз Joomla 6 alpha1. Это релиз, в который включены уже проверенные изменения, но ещё очень многие исправления и улучшения ждут своей очереди. Joomla следит за качеством и безопасностью своего кода и каждое изменение должно быть успешно протестировано как минимум ещё двумя участниками сообщества. Разработка Joomla ведётся на платформе GitHub.Филипп Уолтон (Philip Walton) - один из разработчиков, кто активно вносит свой вклад в ядро Joomla. Он уже несколько месяцев посвящает свои послеполуденные часы пятницы работе с Joomla и предлагает присоединиться к нему. 📆 Пятница, 30 мая 2025, с 15:00 до 17:00 по UTC (Лондон) - с 18:00 до 20:00 по Москве.В чате Google Meet Филипп готов помочь с тестированием тем, кто будет делать это в первый раз. А так же он подготовил список лёгких Pull Request, которые можно протестировать довольно быстро. Чем больше тестов будет проведено сейчас, тем меньше ошибок вылезет потом. На данный момент 148 (уже 147 на момент написания заметки) PR на GitHub Joomla ждут тестирования.👩‍💻 Open to all. All together.Также вам поможет сделать первые шаги это видео.GitHub JoomlaДа, это вечер пятницы. Но тестирование занимает порой минут 15, а доброе дело сделано. Просто убедитесь, что разработчик чего-то не пропустил и всё работает как ожидается.#joomla #joomla6 #community

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

Fedor Vlasenko

  • Живу я здесь
  • 3845
  • 733 / 7
  • https://fedor-vlasenko.web.app
Делюсь примером вывода изображений в блоге категорий. Вывод предусматривает автоматическое создание изображений нужных размеров.
Используем изображение полного текста
Спойлер
[свернуть]
Используем изображение вступительного текста
Спойлер
[свернуть]
Корректировка вывода изображения материала( добавляем размер, article, default.php)
Спойлер
[свернуть]
*

Kyrsor

  • Захожу иногда
  • 317
  • 4 / 2
:( Что то упорно не выходит.
Буду пробовать дальше, но чуть левее правее и становится всё очень тяжко!
*

Fedor Vlasenko

  • Живу я здесь
  • 3845
  • 733 / 7
  • https://fedor-vlasenko.web.app
Код обрабатывает изображения которые вставляются к материалу вкладка Images and links (Изображения и ссылки) в материале
Там есть изображения?
*

Kyrsor

  • Захожу иногда
  • 317
  • 4 / 2
Так смотрим, что сейчас есть:
1. Добавил в blog_item.php код который для intro текста и второй readmore
2. Добавил в default.php после заголовка.
Notice: Trying to get property of non-object in БЛАБЛА_ПУТЬ_К_МОЕМУ_ШАБЛОНУ\warp\systems\joomla\layouts\com_content\category\blog_item.php on line 89
В принципе то это не ошибка, а просто предупреждение, что в строке 57 (в моём случае) пытаются получить свойство несуществующего объекта.
Эта строка if ($imgsrc = $img->image_intro)
Выходит объект это картинка которая уменьшится, но она есть.
blog_item.php:
Код
<?php
/**
* @package   Warp Theme Framework
* @author    YOOtheme http://www.yootheme.com
* @copyright Copyright (C) YOOtheme GmbH
* @license   http://www.gnu.org/licenses/gpl.html GNU/GPL
*/

// no direct access
defined('_JEXEC') or die;

// Create a shortcut for params.
$params = &$this->item->params;
$images = json_decode($this->item->images);
$canEdit = $this->item->params->get('access-edit');
JHtml::addIncludePath(JPATH_COMPONENT.'/helpers/html');
JHtml::_('behavior.tooltip');
JHtml::core();

?>

<article class="item" data-permalink="<?php echo JRoute::_(ContentHelperRoute::getArticleRoute($this->item->slug, $this->item->catid), true, -1); ?>">
<?php if ($params->get('show_title')) : ?>
<header>

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

<?php if ($params->get('show_print_icon')) : ?>
<div class="icon print"><?php echo JHtml::_('icon.print_popup', $this->item, $params); ?></div>
<?php endif; ?>

<h1 class="title">
<?php if ($params->get('link_titles') && $params->get('access-view')) : ?>
<a href="<?php echo JRoute::_(ContentHelperRoute::getArticleRoute($this->item->slug, $this->item->catid)); ?>" title="<?php echo $this->escape($this->item->title); ?>"><?php echo $this->escape($this->item->title); ?></a>
<?php else : ?>
<?php echo $this->escape($this->item->title); ?>
<?php endif; ?>
</h1>

<?php if ($params->get('show_create_date') || ($params->get('show_author') && !empty($this->item->author)) || $params->get('show_category')) : ?>
<p class="meta">

<?php

if ($params->get('show_author') && !empty($this->item->author )) {

$author =  $this->item->author;
$author = ($this->item->created_by_alias ? $this->item->created_by_alias : $author);

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

}

if ($params->get('show_create_date')) {
echo ' '.JText::_('TPL_WARP_ON').' <time datetime="'.substr($this->item->created, 0,10).'" pubdate>'.JHtml::_('date', $this->item->created, JText::_('DATE_FORMAT_LC3')).'</time>';
}

if (($params->get('show_author') && !empty($this->item->author )) || $params->get('show_create_date')) {
echo '. ';
}

if ($params->get('show_category')) {
echo JText::_('TPL_WARP_POSTED_IN').' ';
$title = $this->escape($this->item->category_title);
$url = '<a href="'.JRoute::_(ContentHelperRoute::getCategoryRoute($this->item->catid)).'">'.$title.'</a>';
if ($params->get('link_category')) {
echo $url;
} else {
echo $title;
}
}

?>

</p>
<?php endif; ?>
</header>
<?php //Вставляем в файл blog_item.php. Не забываем переопределять на уровне своего шаблона
$img = json_decode($this->item->images);
if ($imgsrc = $img->image_intro)
{
echo '<div class="img-blog">';
$h = 100; //Новая высота изображения
$w = 150; //Новая ширина изображения
$path_parts = pathinfo($imgsrc);
$file_thumb = $path_parts['dirname'].'/'.$path_parts['filename'].'_'.$h.'_'.$w.'.'.$path_parts['extension'];
if (!file_exists($file_thumb) || filemtime($file_thumb) <= filemtime($imgsrc))
{
$image = new JImage($imgsrc);
$new_image = $image->resize($w, $h, true, JImage::SCALE_INSIDE );
$properties = $image->getImageFileProperties($imgsrc);
switch ($properties->mime)
{
case 'image/jpeg':
$type = IMAGETYPE_JPEG;
break;
case 'image/png':
$type = IMAGETYPE_PNG;
break;
case 'image/gif':
$type = IMAGETYPE_GIF;
break;
}
$new_image->toFile($file_thumb, $type);
}
$attr = getimagesize(JURI::base().$file_thumb);
echo JHTML::_('image', $file_thumb, htmlspecialchars($img->image_intro_alt), $attr[3]).'</div>';
}
?>
<?php endif; ?>

<?php

if (!$params->get('show_intro')) {
echo $this->item->event->afterDisplayTitle;
}

echo $this->item->event->beforeDisplayContent;

?>

<div class="content clearfix">
<?php

if (isset($images->image_intro) and !empty($images->image_intro)) {
$imgfloat = (empty($images->float_intro))? $params->get('float_intro') : $images->float_intro;
$class = (htmlspecialchars($imgfloat)!= 'none')? ' class="size-auto align-'.htmlspecialchars($imgfloat).'"' : ' class="size-auto"';
$title = ($images->image_intro_caption)? ' title="'.htmlspecialchars($images->image_intro_caption).'"' : '';
echo '<img'.$class.$title.' src="'.htmlspecialchars($images->image_intro).'" alt="'.htmlspecialchars($images->image_intro_alt).'" />';
}

echo $this->item->introtext;

?>
</div>

<?php if ($params->get('show_readmore') && $this->item->readmore) : ?>

<p class="links">

<?php

if ($params->get('access-view')) {
$link = JRoute::_(ContentHelperRoute::getArticleRoute($this->item->slug, $this->item->catid));
} 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($this->item->slug, $this->item->catid));
$link = new JURI($link1);
$link->setVar('return', base64_encode($returnURL));
}

?>

<a href="<?php echo $link; ?>" title="<?php echo $this->escape($this->item->title); ?>">
<?php //Вставляем в файл blog_item.php. Не забываем переопределять на уровне своего шаблона
$img = json_decode($this->item->images);
if ($imgsrc = $img->image_fulltext)
{
echo '<div class="img-blog">';
$h = 100; //Новая высота изображения
$w = 150; //Новая ширина изображения
$path_parts = pathinfo($imgsrc);
$file_thumb = $path_parts['dirname'].'/'.$path_parts['filename'].'_'.$h.'_'.$w.'.'.$path_parts['extension'];
if (!file_exists($file_thumb) || filemtime($file_thumb) <= filemtime($imgsrc))
{
$image = new JImage($imgsrc);
$new_image = $image->resize($w, $h, true, JImage::SCALE_INSIDE );
$properties = $image->getImageFileProperties($imgsrc);
switch ($properties->mime)
{
case 'image/jpeg':
$type = IMAGETYPE_JPEG;
break;
case 'image/png':
$type = IMAGETYPE_PNG;
break;
case 'image/gif':
$type = IMAGETYPE_GIF;
break;
}
$new_image->toFile($file_thumb, $type);
}
$attr = getimagesize(JURI::base().$file_thumb);
echo JHTML::_('image', $file_thumb, htmlspecialchars($img->image_fulltext_alt), $attr[3]);
echo '</div>';
}
?>
<?php

if (!$params->get('access-view')) {
echo JText::_('COM_CONTENT_REGISTER_TO_READ_MORE');
} elseif ($readmore = $this->item->alternative_readmore) {
echo $readmore;
} else {
echo JText::_('TPL_WARP_CONTINUE_READING');
}

?>
</a>

</p>
<?php endif; ?>

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

<?php echo $this->item->event->afterDisplayContent; ?>
</article>
« Последнее редактирование: 17.12.2012, 06:12:10 от Kyrsor »
*

Fedor Vlasenko

  • Живу я здесь
  • 3845
  • 733 / 7
  • https://fedor-vlasenko.web.app
Код обрабатывает изображения которые вставляются к материалу вкладка Images and links (Изображения и ссылки) в материале
Там есть изображения?
Ваш шаблон вывода и без моего кода должен выводить изображение.  (Изображения и ссылки) в материале
Спойлер
[свернуть]
*

Kyrsor

  • Захожу иногда
  • 317
  • 4 / 2
ДЫ и так выводит=)))
Короче меня дезинформировали по этой теме)
Я хочу так что бы с боку если в материале есть картинка она прям с лева от тайтла текста интро и т д выводилась маленькой
*

Fedor Vlasenko

  • Живу я здесь
  • 3845
  • 733 / 7
  • https://fedor-vlasenko.web.app
Вот для этого этот код и написан. Удалите, за комментируйте свой вывод и оставьте вышеприведенный с установкой параметров высоты и ширины нужного изображения.
*

Kyrsor

  • Захожу иногда
  • 317
  • 4 / 2
Щас попробую. Спасибо)
Как всё сложно.........
« Последнее редактирование: 17.12.2012, 13:15:13 от Kyrsor »
*

Kyrsor

  • Захожу иногда
  • 317
  • 4 / 2
Это групповое изнасилование мозга)))
Спасибо пост интересный) Но у меня не вышло)
*

NKovalenko.88

  • Новичок
  • 9
  • 0 / 0
Как зилить ссылку на интро изображение для материалов К2 не через админку?
*

kefalia

  • Захожу иногда
  • 68
  • 0 / 0
Добрый вечер! Подскажите, как дописать приведенный Вами код для вывода изображения вступительного текста в блоге категорий так, чтобы изображение в блоге стало ссылкой на содержание статьи? Подобные вопросы уже решались на форуме, однако прикрутить приведенные в других темах решения к написанному Вами коду для меня пока что является невыполнимой задачей :)
*

Fedor Vlasenko

  • Живу я здесь
  • 3845
  • 733 / 7
  • https://fedor-vlasenko.web.app
Примерно так
Спойлер
[свернуть]
*

kefalia

  • Захожу иногда
  • 68
  • 0 / 0
Примерно так
Спойлер
[свернуть]

Спасибо! :)
*

Rumboid

  • Новичок
  • 8
  • 0 / 0
Уважаемый Fedor Vlasenko, спасибо большое за выложенные Вами коды. У меня получилось в своем шаблоне вывести изображение вступительного текста, но, когда я пытаюсь сделать его кликабельным (вставляя последний в этом топике Ваш код), то получаю на странице ошибку:
Fatal error: Call to a member function get() on a non-object in Z:\home\мой сайт\www\templates\мой шаблон\html\com_content\category\blog_item.php on line 24
Эта строка содержит $imgfloat = (empty($images->float_intro))? $params->get('float_intro') : $images->float_intro;
Подскажите, что не так?
*

Fedor Vlasenko

  • Живу я здесь
  • 3845
  • 733 / 7
  • https://fedor-vlasenko.web.app
*

Rumboid

  • Новичок
  • 8
  • 0 / 0
Это изменение действительно делает картинку кликабельной, но, к сожалению, фатально влияет на расположение элементов на странице шаблона. Картинки я смог расположить слева от текста, теперь они снова встали выше него, Футер ушел в верхний правый блок. Пожалуй, я откажусь от идеи сделать картинки кликабельными. Но Вам все равно спасибо за неравнодушие.
*

Irsn

  • Захожу иногда
  • 83
  • 0 / 0
А не подскажете, как блоге категорий вывести миниатюры?
« Последнее редактирование: 14.02.2014, 13:54:48 от Irsn »
*

hazyin

  • Захожу иногда
  • 142
  • 1 / 0
Все получилось... и картинки и ссыли на картинках! Автору респект! +1
*

hazyin

  • Захожу иногда
  • 142
  • 1 / 0
Ток вот один косяк нарисовался (((( при сохранении статьи с превьюшкой создается файлик картинки в этой же папке где исходник,  исходник+_ширина_высота. расширение (где высота и ширина - установленные в коде значения)... но.... вот размеры созданного изображения почему-то не соответствуют установленным.... так исходное изображение  с именем 640x428, установлено в коде 100х65, а результат - 94х63... В чем может быть косяк?
*

hazyin

  • Захожу иногда
  • 142
  • 1 / 0
Ну как выход из ситуации - в <div class="img-blog-left> поставить нужные width и height...
*

kik84

  • Завсегдатай
  • 1350
  • 64 / 4
Fedor Vlasenko, подскажите что не так я сделал: добавил код из "Используем изображение вступительного текста" и выводятся миниатюры из вступительных в <div class="img-blog"> и в <div class="pull-none item-image"> исходные изображения.
Как оставить лишь миниатюры?
*

Fedor Vlasenko

  • Живу я здесь
  • 3845
  • 733 / 7
  • https://fedor-vlasenko.web.app
Смотрите внимательно макет(шаблон) вывода вашего макета
В приведенном мною решении нет класса "pull-none item-image"
*

kik84

  • Завсегдатай
  • 1350
  • 64 / 4
Смотрите внимательно макет(шаблон) вывода вашего макета
В приведенном мною решении нет класса "pull-none item-image"
Понял, подскажите еще пожалуйста - как поправить путь, чтобы миниатюры создавались не прямо в соответствующей папке, а создавалась внутри папка, например, tmp, и уже в ней лежал jpg.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Блог категории

Автор raynor77

Ответов: 2
Просмотров: 1437
Последний ответ 18.08.2016, 10:05:09
от raynor77
нет картинок в блоге

Автор Коваленко Вадим

Ответов: 4
Просмотров: 1534
Последний ответ 12.05.2016, 01:13:27
от Коваленко Вадим
не работает разделение на колонки в "блоге категорий".

Автор Algemir

Ответов: 7
Просмотров: 9710
Последний ответ 25.04.2016, 08:58:33
от Омск
Разные шаблоны при редактировании материала (на основании родительской категории)

Автор goga_pgasovav

Ответов: 11
Просмотров: 1504
Последний ответ 26.03.2016, 01:05:19
от goga_pgasovav
Компонент к2 категории

Автор 13RUS

Ответов: 1
Просмотров: 1032
Последний ответ 18.01.2016, 15:19:44
от 13RUS