Новости Joomla

👩‍💻 События плагинов и порядок их срабатывания при работе с пользовательскими полями Joomla и использовании FieldsHelper.

👩‍💻 События плагинов и порядок их срабатывания при работе с пользовательскими полями Joomla и использовании FieldsHelper.

В процессе работы с Joomla бывает необходимо работать с пользовательским интерфейсом более тонко, чем обычно. Все формы Joomla состоят из стандартных полей, содержанием, стилем отображения, состоянием (включено/выключено, доступно для редактирования или нет и т.д.) можно управлять с помощью плагинов. Да и для нестандартных проектов хорошей практикой является создание одного системного или нескольких плагинов групп "под проект", в которых храниться весь "нестандарт".

В этой статье описаны все триггеры, которые вызываются через Event Dispatcher из administrator/components/com_fields/src/Helper/FieldsHelper.php, с привязкой к жизненному циклу (порядку этапов работы запроса), аргументам, изменяемым данным и дальнейшему распространению по Joomla. Это поможет вам работать с Joomla свободнее и не опасаясь при этом потерять изменения при очередном обновлении движка.

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

🏆 Открыто голосование за Joomla в премии CMS Critic People’s Choice Awards 2025

🏆 Открыто голосование за Joomla в  премии CMS Critic People’s Choice Awards 2025

🗓 Голосование продлится до 27 февраля 2026 года.

👩‍💻 Проголосовать! 👩‍💻

Номинации, в которых можно проголосовать за Joomla:
⭐️ Best Free CMS
⭐️ Best Open Source CMS
⭐️ Best Enterprise CMS

Также в номинации Best e-Commerce Solution участвуют компоненты интернет-магазинов для Joomla:
⭐️ HikaShop
⭐️ Virtuemart

В номинации Best Website Builder оказались:
⭐️ YooTheme
⭐️ SP Page Builder

Что такое CMS Critic Awards?
С 2012 года премия CMS Critic Awards занимает особое место в сообществе систем управления контентом (CMS). Это единственный в своем роде сайт, который составляет рейтинг системы управления контентом и связанных с ними решений на рынке — от малого до крупного и подчеркивает их инновации и услуги.

Каждый год награда CMS Critic Awards присуждается одному победителю в различных отраслевых категориях, таких как: «Лучшая облачная CMS», «Лучший DXP», «Лучшая Headless CMS и других. Затем результаты оглашаются через СМИ вместе с выбором редакции CMS Critic.
В этом году премия вернулась к своим традициям и только TOP-5 движков по количеству номинаций попали в 2-й этап - голосование.

@joomlafeed

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

Kotovskaya

  • Новичок
  • 4
  • 0 / 0
Доброго времени суток. Есть ли возможность убрать автоматическое востановление параметров у картинок на странице отображения товара? то есть:
Код
<a href="http://www.lmag/components/com_virtuemart/shop_image/product/_____________4c860106b24aa.jpg" title="Платье" rel="lightbox[product28]"><img src="http://www.lmag/components/com_virtuemart/shop_image/product/_____________4c8601dc85620.jpg"  height="353" width="325" alt="Платье" border="0" /><br/>Увеличить</a>

  </td>
  <td rowspan="5" colspan="1" valign="top" style="text-align:center;"><br/>
  <h5>Просмотр дополнительных изображений</h5>
  <a href="http://www.lmag/components/com_virtuemart/shop_image/product/PL 1.jpg" rel="lightbox[product28]"><img src="http://www.lmag/components/com_virtuemart/show_image_in_imgtag.php?filename=%2Fcomponents%2Fcom_virtuemart%2Fshop_image%2Fproduct%2FPL+1.jpg&amp;newxsize=150&amp;newysize=&amp;fileout=" alt="" height="99" width="150" class="browseProductImage" border="0" /></a>
...

свойства height и width...
в шаблоне просто запрашиваются $product_image, а вот где в переменной урезать эти свойства?
*

adjuster

  • Давно я тут
  • 786
  • 55 / 2
Можно на любой странице настроить отдельные свойства вывода картинкам.
Необходимо просто найти, в каком файле происходит вывод картинки - и уже в нем подредактировать, как нужно.
Не далее, чем сегодня делал это *(см. рекомендуемы товары, сопутствующе товары и сами товары)
http://shop-lama.ru/index.php?option=com_virtuemart&page=shop.browse&category_id=8&Itemid=25
http://shop-lama.ru/index.php?page=shop.product_details&flypage=flypage.tpl&product_id=23&category_id=8&option=com_virtuemart&Itemid=25
http://shop-lama.ru/
*

Kotovskaya

  • Новичок
  • 4
  • 0 / 0
в шаблоне вывода страницы товара только это:
Код
<td rowspan="5" colspan="1" valign="top" style="text-align:center;"><br/>
  <?php echo $product_image ?>


  </td>
  <td rowspan="5" colspan="1" valign="top" style="text-align:center;"><br/>
  <h5><?php echo $VM_LANG->_('PHPSHOP_MORE_IMAGES')?></h5>
  <?php
echo $this->vmListAdditionalImages( $product_id, $images );
  ?>
  </td>
беру к примеру $product_image, она определяется в другом шаблоне:
Код
$product_image = $tpl->vmBuildFullImageLink( $productArray );
итого мне надо изменить что-то в этой функции, как я понимаю:
Код
function vmBuildFullImageLink( $product ) {
global $VM_LANG;

$product_image = '';

$img_attributes= 'alt="'.$product['product_name'].'"';

/* Wrap the Image into an URL when applicable */
if ( @$product["product_url"] ) {
$product_image = "<a href=\"". $product["product_url"]."\" title=\"".$product['product_name']."\" target=\"_blank\">";
$product_image .= ps_product::image_tag($product['product_thumb_image'], $img_attributes, 0);
$product_image .= "</a>";
}
/* Show the Thumbnail with a Link to the full IMAGE */
else {
if( empty($product['product_full_image'] ) ) {
$product_image = "<img src=\"".VM_THEMEURL.'images/'.NO_IMAGE."\" alt=\"".$product['product_name']."\" border=\"0\" />";
}
else {
// file_exists doesn't work on remote files,
// so returns false on remote files
// This should fix the "Long Page generation bug"
if( file_exists( IMAGEPATH.'product/'.$product['product_full_image'] )) {

/* Get image width and height */
if( $image_info = @getimagesize(IMAGEPATH.'product/'.$product['product_full_image'] ) ) {
$width = $image_info[0] + 20;
$height = $image_info[1] + 20;
}
}
else {
$width = 640;
$height= 480;
}
if( stristr( $product['product_full_image'], "http" ) ) {
$imageurl = $product['product_full_image'];
}
else {
$imageurl = IMAGEURL.'product/'.rawurlencode( $VM_LANG->convert($product['product_full_image']));
}
/* Build the "See Bigger Image" Link */
if( @$_REQUEST['output'] != "pdf" && $this->get_cfg('useLightBoxImages', 1 ) ) {
$link = $imageurl;
$text = ps_product::image_tag($product['product_thumb_image'], $img_attributes, 0)."<br/>".$VM_LANG->_('PHPSHOP_FLYPAGE_ENLARGE_IMAGE');

$product_image = vmCommonHTML::getLightboxImageLink( $link, $text, $product['product_name'], 'product'.$product['product_id'] );
}
elseif( @$_REQUEST['output'] != "pdf" ) {
$link = $imageurl;
$text = ps_product::image_tag($product['product_thumb_image'], $img_attributes, 0)."<br/>".$VM_LANG->_('PHPSHOP_FLYPAGE_ENLARGE_IMAGE');
// vmPopupLink can be found in: htmlTools.class.php
$product_image = vmPopupLink( $link, $text, $width, $height );
}
else {
$product_image = "<a href=\"$imageurl\" target=\"_blank\">"
. ps_product::image_tag($product['product_thumb_image'], $img_attributes, 0)
. "</a>";
}
}
}
return $product_image;
}
я уже переудаляла все что только можно, все упоминания о ширине и высоте, меняла просто их параметры... вроде это изначальный вариант, можешь кто нить ткнуть носом что правитьили удалить надо?
*

adjuster

  • Давно я тут
  • 786
  • 55 / 2
Делается просто: Firefox + FireBug
*

Kotovskaya

  • Новичок
  • 4
  • 0 / 0
Мерси, координально проблему не решило, однако штука полезная, подтолкнула на другое решение проблемы)))
*

beagler

  • Moderator
  • 3276
  • 392 / 4
  • https://alorisman.ru/
а кто Вам мешает в шаблоне использовать вместо $product_image сразу $product_full_image и $product_thumb_image и строить вывод картинок как Вам хочется?
*

Kotovskaya

  • Новичок
  • 4
  • 0 / 0
хммм... у меня он вместо картинки в таком случае выводит только адрес изображения))) Спасибо за помощь, я уже разобралась)
*

melkiialex

  • Захожу иногда
  • 152
  • 0 / 0
А можно по подробнее как изменить размер картинки во flypage
если заместо
Код
<?php echo urldecode( $product_image )?>
ставлю 
Код
<?php echo urldecode( $product_full_image )?> 
то на сайте выдает просто путь картинки а не ее саму, как сделать что бы была она и добавить ей ширину 300px
*

chiperok

  • Захожу иногда
  • 100
  • 2 / 0
Код
<?php echo '<IMG width="300px" src="'.urldecode( $product_full_image ).'">'?>
а как сделать так что бы если картинки нет, что бы оно выводил картинку но имедж? но при этом что бы ссылка (та которая на картинке) сохранилась?
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Настройки отображения товара

Автор wectra

Ответов: 2
Просмотров: 5687
Последний ответ 12.07.2017, 22:12:27
от wectra
Несколько изображений для товара/ Лупа для изображения/ Magic Zoom

Автор antoha333

Ответов: 41
Просмотров: 28216
Последний ответ 13.11.2015, 16:08:16
от sonics
Как реализовать на VirtueMart такую карточку товара?

Автор AdmbVlad

Ответов: 0
Просмотров: 3309
Последний ответ 14.10.2015, 17:01:55
от AdmbVlad
Вставить картинку в карточку товара через URL и создать его миниатюру

Автор sashgera

Ответов: 8
Просмотров: 4208
Последний ответ 14.02.2015, 21:12:46
от sashgera
Как изменить сортировку товара ?

Автор Timer

Ответов: 0
Просмотров: 2426
Последний ответ 21.01.2015, 23:49:28
от Timer