Новости Joomla

Вышли релизы Joomla 6.0.3 и Joomla 5.4.3

Релиз Joomla 6.0.3 и Joomla 5.4.3

Проект Joomla рад сообщить о выпуске Joomla 6.0.3 и Joomla 5.4.3. Это релиз исправлений ошибок и улучшений для серии Joomla 6.0 и Joomla 5.4.

👩‍💻 События плагинов и порядок их срабатывания при работе с пользовательскими полями 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 Гость просматривают эту тему.
  • 22 Ответов
  • 4484 Просмотров
*

formax1986

  • Захожу иногда
  • 54
  • 0 / 0
Как добавить  рамку к фотографиям товаров в VirtueMart 1.1.3  ?


  • Какой файл редактировать?
  • Какую строку?
  • Что вписать?



Сижу уже 3 дня, не могу понять, искал везде где можно...


Помогите, пожалуйста.... :(
очень прошу...
*

viperrr

  • Осваиваюсь на форуме
  • 19
  • 2 / 0
Какую рамку ты хочешь, покажи пример !
*

formax1986

  • Захожу иногда
  • 54
  • 0 / 0
ну как тут например есть рамки обычные белые.  http://websait.kz/index.php?option=com_datsogallery&Itemid=10&func=viewcategory&catid=1
*

formax1986

  • Захожу иногда
  • 54
  • 0 / 0
наверно никому это не нужно было (((

ну уверяю, решение проблемы будет очень востребованным!
*

viperrr

  • Осваиваюсь на форуме
  • 19
  • 2 / 0
style='border:1px solid #cccccc;margin:0;padding:6px;background:#F8FAFC'

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

Я точно не могу тебе сейчас сказать где и какую строку, у самого весь код уже далеко на стандартный не похож, но примерно тебе это надо прописать в файлах browse_1.php, flypage.tpl.php, flypage-ask.tpl.php и т.д в тех файлах которые выводят изображения !

По этому пути можно переделать весь магазин !!
Не ленись по ковыряй все файлы, много что интересного найдешь, там только HTML знать надо.
components/com_virtuemart/themes/default/templates/
*

formax1986

  • Захожу иногда
  • 54
  • 0 / 0
нет, не получается так (((
*

viperrr

  • Осваиваюсь на форуме
  • 19
  • 2 / 0
Если ты пробуешь в обычном HTML файле то без этой строки он не покажет:

Код
<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
*

formax1986

  • Захожу иногда
  • 54
  • 0 / 0
не все равно не влияет ни на что..
*

viperrr

  • Осваиваюсь на форуме
  • 19
  • 2 / 0
Все работает, в файле:
components/com_virtuemart/themes/default/templates/product_details/flypage.tpl.php
добавил эти div и все заработало.
Код
<!-- создаем рамку -->
<div style="border:1px solid #cccccc;margin:0;padding:6px;background:#F8FAFC">

<!--
Тут вывод изображения. Должна быть строка типа этой:
<?php echo ps_product::image_tag( $product_thumb_image, 'class="browseProductImage" border="0" title="'.$product_name.'" alt="'.$product_name .'"' )?>
-->

<!—закрываем рамку  -->
</div>


Проверяй в подробном описании товара, только не на изображении с белым фоном, а то результат не особо виден или поменяй цвет рамки.
*

formax1986

  • Захожу иногда
  • 54
  • 0 / 0

Вот тут видно что не работает. Рамка получается не у фотографии а у всей ячейки, и смотрится не красиво.
*

formax1986

  • Захожу иногда
  • 54
  • 0 / 0
может кто подскажет как быть?
*

viperrr

  • Осваиваюсь на форуме
  • 19
  • 2 / 0
Скинь код этого файла, походу ты не туда ставишь ее.
*

formax1986

  • Захожу иногда
  • 54
  • 0 / 0
Код
<?php if( !defined( '_VALID_MOS' ) && !defined( '_JEXEC' ) ) die( 'Direct Access to '.basename(__FILE__).' is not allowed.' );
mm_showMyFileName(__FILE__);
 ?>
 <table width="100%" cellspacing="0" cellpadding="0" border="0" >
  <tr>
    <td >
        <a style="font-size: 16px; font-weight: bold;" href="<?php echo $product_flypage ?>"><?php echo $product_name ?></a>
    </td>
  </tr>
  <tr >
    <td align="left" nowrap ><?php echo $product_price ?></td>
  </tr>
  <tr >
    <td ><a  href="<?php echo $product_flypage ?>" >
          <?php echo ps_product::image_tag(  $product_thumb_image,  'class="browseProductImage" border="0" title="'.$product_name.'" alt="'.$product_name .'"' )?>
       

    </td>
  </tr>
  <tr>
    <td height="80" valign="top" ><?php echo $product_s_desc ?><br />
      <a style="font-size: 9px; font-weight: bold;" href="<?php echo $product_flypage ?>">[<?php echo $product_details ?>...]</a>
    </td>
  </tr>
  <tr>
    <td ><hr /></td>
  </tr>
  <tr>
    <td ><?php echo $product_rating ?></td>
  </tr>
</table>
*

viperrr

  • Осваиваюсь на форуме
  • 19
  • 2 / 0
Попробуй так, должно работать!

Код
<?php if( !defined( '_VALID_MOS' ) && !defined( '_JEXEC' ) ) die( 'Direct Access to '.basename(__FILE__).' is not allowed.' );
mm_showMyFileName(__FILE__);
 ?>
 <table width="100%" cellspacing="0" cellpadding="0" border="0" >
  <tr>
    <td >
        <a style="font-size: 16px; font-weight: bold;" href="<?php echo $product_flypage ?>"><?php echo $product_name ?></a>
    </td>
  </tr>
  <tr >
    <td align="left" nowrap ><?php echo $product_price ?></td>
  </tr>
  <tr >
    <td ><a  href="<?php echo $product_flypage ?>" >
          <?php echo ps_product::image_tag(  $product_thumb_image,  'class="browseProductImage" style="border:1px solid #cccccc;margin:0;padding:6px;background:#F8FAFC" border="0" title="'.$product_name.'" alt="'.$product_name .'"' )?>
       

    </td>
  </tr>
  <tr>
    <td height="80" valign="top" ><?php echo $product_s_desc ?><br />
      <a style="font-size: 9px; font-weight: bold;" href="<?php echo $product_flypage ?>">[<?php echo $product_details ?>...]</a>
    </td>
  </tr>
  <tr>
    <td ><hr /></td>
  </tr>
  <tr>
    <td ><?php echo $product_rating ?></td>
  </tr>
</table>

Проверяй в подробном описании товара.
*

formax1986

  • Захожу иногда
  • 54
  • 0 / 0
Блин, чувак, спасибо тебе огромное! Выручил! Супер! Молодец! Все заработало когда много товаров на страницу. Когда нажимаешь ан товар, то рамки нет, но думаю, это уже не очень важно)) :D :D :D :D :D
*

viperrr

  • Осваиваюсь на форуме
  • 19
  • 2 / 0
Слушай таким способом надо изменить еще пару файлов, чтоб везде отображалось корректно!
За вывод категорий надо тут:
components/com_virtuemart/themes/default/templates/browse/browse_1.php

ну и если хочется в модулях тоже можно, это тут:
components/com_virtuemart/themes/default/templates/common/productsnapshot.tpl.php
*

formax1986

  • Захожу иногда
  • 54
  • 0 / 0
это верно, но там нет такой строчки <?php echo ps_product::image_tag(  $product_thumb_image,
*

viperrr

  • Осваиваюсь на форуме
  • 19
  • 2 / 0
скинь код
*

formax1986

  • Захожу иногда
  • 54
  • 0 / 0
Код
<?php if( !defined( '_VALID_MOS' ) && !defined( '_JEXEC' ) ) die( 'Direct Access to '.basename(__FILE__).' is not allowed.' );
mm_showMyFileName(__FILE__);
 ?>

<?php echo $buttons_header // The PDF, Email and Print buttons ?>

<?php
if( $this->get_cfg( 'showPathway' )) {
echo "<div class=\"pathway\">$navigation_pathway</div>";
}
if( $this->get_cfg( 'product_navigation', 1 )) {
if( !empty( $previous_product )) {
echo '<a class="previous_page" href="'.$previous_product_url.'">'.shopMakeHtmlSafe($previous_product['product_name']).'</a>';
}
if( !empty( $next_product )) {
echo '<a class="next_page" href="'.$next_product_url.'">'.shopMakeHtmlSafe($next_product['product_name']).'</a>';
}
}
?>

<br style="clear:both;" />
<table border="0" style="width: 100%;">
  <tbody>
<tr>
<?php  if( $this->get_cfg('showManufacturerLink') ) { $rowspan = 5; } else { $rowspan = 4; } ?>
  <td width="33%" rowspan="<?php echo $rowspan; ?>" valign="top"><br/>
  <?php echo $product_image ?><br/><br/><?php echo $this->vmlistAdditionalImages( $product_id, $images )?></td>
  <td rowspan="1" colspan="2">
  <h1><?php echo $product_name ?> <?php echo $edit_link ?></h1>
  </td>
</tr>
<?php if( $this->get_cfg('showManufacturerLink')) { ?>
<tr>
  <td rowspan="1" colspan="2"><?php echo $manufacturer_link ?><br /></td>
</tr>
<?php } ?>
<tr>
      <td width="33%" valign="top" align="left">
      <?php echo $product_price_lbl ?>
      <?php echo $product_price ?><br /></td>
      <td valign="top"><?php echo $product_packaging ?><br /></td>
</tr>
<tr>
  <td colspan="2"><?php echo $ask_seller ?></td>
</tr>
<tr>
  <td rowspan="1" colspan="2"><hr />
  <?php echo $product_description ?><br/>
  <span style="font-style: italic;"><?php echo $file_list ?></span>
  </td>
</tr>
<tr>
  <td><?php
  if( $this->get_cfg( 'showAvailability' )) {
  echo $product_availability;
  }
  ?><br />
  </td>
  <td colspan="2"><br /><?php echo $addtocart ?></td>
</tr>
<tr>
  <td colspan="3"><?php echo $product_type ?></td>
</tr>
<tr>
  <td colspan="3"><hr /><?php echo $product_reviews ?></td>
</tr>
<tr>
  <td colspan="3"><?php echo $product_reviewform ?><br /></td>
</tr>
<tr>
  <td colspan="3"><?php echo $related_products ?><br />
   </td>
</tr>
<?php if( $this->get_cfg('showVendorLink')) { ?>
<tr>
  <td colspan="3"><div style="text-align: center;"><?php echo $vendor_link ?><br /></div><br /></td>
</tr>
<?php  } ?>
  </tbody>
</table>
<?php
if( !empty( $recent_products )) { ?>
<div class="vmRecent">
<?php echo $recent_products; ?>
</div>
<?php
}
if( !empty( $navigation_childlist )) { ?>
<?php echo $VM_LANG->_('PHPSHOP_MORE_CATEGORIES')?><br />
<?php echo $navigation_childlist ?><br style="clear:both"/>
<?php
} ?>
*

viperrr

  • Осваиваюсь на форуме
  • 19
  • 2 / 0
Попробуй так...

Код
<?php if( !defined( '_VALID_MOS' ) && !defined( '_JEXEC' ) ) die( 'Direct Access to '.basename(__FILE__).' is not allowed.' );
mm_showMyFileName(__FILE__);
 ?>

<?php echo $buttons_header // The PDF, Email and Print buttons ?>

<?php
if( $this->get_cfg( 'showPathway' )) {
echo "<div class=\"pathway\">$navigation_pathway</div>";
}
if( $this->get_cfg( 'product_navigation', 1 )) {
if( !empty( $previous_product )) {
echo '<a class="previous_page" href="'.$previous_product_url.'">'.shopMakeHtmlSafe($previous_product['product_name']).'</a>';
}
if( !empty( $next_product )) {
echo '<a class="next_page" href="'.$next_product_url.'">'.shopMakeHtmlSafe($next_product['product_name']).'</a>';
}
}
?>

<br style="clear:both;" />
<table border="0" style="width: 100%;">
  <tbody>
<tr>
<?php  if( $this->get_cfg('showManufacturerLink') ) { $rowspan = 5; } else { $rowspan = 4; } ?>
  <td width="33%" rowspan="<?php echo $rowspan; ?>" valign="top"><br/>
  <div style="border:1px solid #cccccc;margin:0;padding:6px;background:#F8FAFC">
  <?php echo $product_image ?>
  </div>
  <br/><br/><?php echo $this->vmlistAdditionalImages( $product_id, $images )?></td>
  <td rowspan="1" colspan="2">
  <h1><?php echo $product_name ?> <?php echo $edit_link ?></h1>
  </td>
</tr>
<?php if( $this->get_cfg('showManufacturerLink')) { ?>
<tr>
  <td rowspan="1" colspan="2"><?php echo $manufacturer_link ?><br /></td>
</tr>
<?php } ?>
<tr>
      <td width="33%" valign="top" align="left">
      <?php echo $product_price_lbl ?>
      <?php echo $product_price ?><br /></td>
      <td valign="top"><?php echo $product_packaging ?><br /></td>
</tr>
<tr>
  <td colspan="2"><?php echo $ask_seller ?></td>
</tr>
<tr>
  <td rowspan="1" colspan="2"><hr />
  <?php echo $product_description ?><br/>
  <span style="font-style: italic;"><?php echo $file_list ?></span>
  </td>
</tr>
<tr>
  <td><?php
  if( $this->get_cfg( 'showAvailability' )) {
  echo $product_availability;
  }
  ?><br />
  </td>
  <td colspan="2"><br /><?php echo $addtocart ?></td>
</tr>
<tr>
  <td colspan="3"><?php echo $product_type ?></td>
</tr>
<tr>
  <td colspan="3"><hr /><?php echo $product_reviews ?></td>
</tr>
<tr>
  <td colspan="3"><?php echo $product_reviewform ?><br /></td>
</tr>
<tr>
  <td colspan="3"><?php echo $related_products ?><br />
   </td>
</tr>
<?php if( $this->get_cfg('showVendorLink')) { ?>
<tr>
  <td colspan="3"><div style="text-align: center;"><?php echo $vendor_link ?><br /></div><br /></td>
</tr>
<?php  } ?>
  </tbody>
</table>
<?php
if( !empty( $recent_products )) { ?>
<div class="vmRecent">
<?php echo $recent_products; ?>
</div>
<?php
}
if( !empty( $navigation_childlist )) { ?>
<?php echo $VM_LANG->_('PHPSHOP_MORE_CATEGORIES')?><br />
<?php echo $navigation_childlist ?><br style="clear:both"/>
<?php
} ?>
*

formax1986

  • Захожу иногда
  • 54
  • 0 / 0
спасибо тебе! плюсик поставил в карму!
*

formax1986

  • Захожу иногда
  • 54
  • 0 / 0
Слушай, можно последнюю просьбу? И я больше не буду тебя доставать глупыми вопросами... ..

Вот что у меня получилось:




Вопрос:
1. Как выравнять картинки по центру
2. Как выравнять текст по ширине

Буду ооочень благодарен если сможешь описать хоть немножко.
*

formax1986

  • Захожу иногда
  • 54
  • 0 / 0
О, все сделал!  :D :D :D :D
уф!
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

[download] Модуль вывода товаров для VirtueMart (1.2.3 и 2.1)

Автор beliyadm

Ответов: 1448
Просмотров: 384899
Последний ответ 21.07.2015, 06:21:55
от Серегин
Альтернативный модуль вывода категорий товаров (mod_kdz_vm_categories)

Автор kordima

Ответов: 89
Просмотров: 31003
Последний ответ 19.02.2015, 22:02:14
от kordima
Отображение товаров в виде таблицы

Автор Doppelganger

Ответов: 183
Просмотров: 62570
Последний ответ 15.04.2014, 23:27:29
от 4ifir
Пагинация в категории товаров

Автор chgr73

Ответов: 0
Просмотров: 2145
Последний ответ 20.02.2014, 16:06:50
от chgr73
Сортировка товаров по цене

Автор Batyabest

Ответов: 2
Просмотров: 2120
Последний ответ 10.01.2014, 13:37:55
от Batyabest