Новости Joomla

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

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

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

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

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

Читать статью на Хабре.

@joomlafeed

🏆 Открыто голосование за 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 Гость просматривают эту тему.
  • 32 Ответов
  • 2504 Просмотров
*

Stasweb

  • Завсегдатай
  • 1501
  • 24 / 0
Как ограничить количество знаков в описании.
В файле /templates/lik-astana/html/com_virtuemart/productdetails/default_images.php выводится описание картинок
Код
echo '<div class="file_meta_title">' .$image->file_meta. '</div>';
И описание бывает большим и смотрится не красиво хотелось бы его ограничить до определенного количества знаков.
Вот весь блок с выводом картинки
Код
				<div class="floatleft">
<?php
if(VmConfig::get('add_img_main', 1)) {
                    echo '<div class="floatleft">' . $image->displayMediaThumb('class="product-image image-"', true, 'class="modal"', true, true). '</div>'; //'class="modal"'
echo '<a href="'. $image->file_url .'"  class="product-image image-'. $i .'" style="display:none;" rel="vm-additional-images"></a>';
} else {
    echo $image->displayMediaThumb("",true,"rel='vm-additional-images'");
    echo '<div class="file_meta_title">' .$image->file_meta. '</div>';
}
?>
</div>
*

Stasweb

  • Завсегдатай
  • 1501
  • 24 / 0
Так не работает
Код
echo '<div class="file_meta_title">' .$file_meta = substr($image->file_meta , 0, 10). " ...";. '</div>';
и так не работает
Код
				if (!empty($image->file_meta)) {
                 echo shopFunctionsF::limitStringByWord ($image->file_meta, 10, ' ...')
                                                      }
*

gartes

  • Завсегдатай
  • 1859
  • 142 / 6
  • Е = mс²
*

gartes

  • Завсегдатай
  • 1859
  • 142 / 6
  • Е = mс²
Код: php
echo '<pre>'; print_r ( $image->file_meta ); echo '</pre>'.__FILE__.'Строка '.__LINE__ ;
Так что выводит ?
*

gartes

  • Завсегдатай
  • 1859
  • 142 / 6
  • Е = mс²
Что то не то ты делаешь... Точнее описание само как то не от туда берешь..
*

Stasweb

  • Завсегдатай
  • 1501
  • 24 / 0
/templates/lik-astana/html/com_virtuemart/productdetails/default_images.php������ 121
а 121 это  echo '<pre>'; print_r ( $image->file_meta ); echo '</pre>'.__FILE__.'Строка '.__LINE__ ;
*

gartes

  • Завсегдатай
  • 1859
  • 142 / 6
  • Е = mс²
Значит это то что .... $image->file_meta У тебя пустое...
А что ты от пустого отрезать собрался.? )))

*

Stasweb

  • Завсегдатай
  • 1501
  • 24 / 0
Так
Код
echo '<div class="file_meta_title">' .$image->file_meta. '</div>';
выводит его
*

gartes

  • Завсегдатай
  • 1859
  • 142 / 6
  • Е = mс²
Значит считай символы не от 0 а от <div class="file_meta_title"> --- И дальше....
*

gartes

  • Завсегдатай
  • 1859
  • 142 / 6
  • Е = mс²
*

Stasweb

  • Завсегдатай
  • 1501
  • 24 / 0
Вынес в отдельный блок все ровно не работает
Код
				<div class="file_meta_title"><?php
            if (!empty($image->file_meta)) {
             echo shopFunctionsF::limitStringByWord ($image->file_meta, 10, ' ...')
             }
?>
</div>

Нет скайпа под рукой с рабочего компа сижу 
*

gartes

  • Завсегдатай
  • 1859
  • 142 / 6
  • Е = mс²
А так что дает?
Код: php
echo '<pre>'; print_r ( $image ); echo '</pre>'.__FILE__.'Строка '.__LINE__ ;
И в обще где  такая переменная берется. ? $image
*

gartes

  • Завсегдатай
  • 1859
  • 142 / 6
  • Е = mс²
if (!empty($image->file_meta))
Если переменная $image->file_meta не пустая тогда выводим... )))?
Так она у тебя пустая...
*

Stasweb

  • Завсегдатай
  • 1501
  • 24 / 0
Вот что ответил на echo '<pre>'; print_r ( $image ); echo '</pre>'.__FILE__.'Строка '.__LINE__ ;
Спойлер
[свернуть]
*

Stasweb

  • Завсегдатай
  • 1501
  • 24 / 0
Так тоже пусто
Код
<div class="file_meta_title"><?php
 if (!empty($image->file_meta))
?>
</div>
*

gartes

  • Завсегдатай
  • 1859
  • 142 / 6
  • Е = mс²
[_foldersToTest:VmMediaHandler:private] => Array
        (
Вот с этого момента... Считай скобки...
А нет прости не то...


*

gartes

  • Завсегдатай
  • 1859
  • 142 / 6
  • Е = mс²
*

Stasweb

  • Завсегдатай
  • 1501
  • 24 / 0
Так пусто
Код
<div class="file_meta_title"><?php
$file_meta = substr($image->file_meta , 0, 80). " ...";
?>
Так не выводит шаблон
Код
<div class="file_meta_title"><?php
if (!empty($image->file_meta)) {
 echo shopFunctionsF::limitStringByWord ($image->file_meta, 80, ' ...')
}
?>
</div>
А это работает
Код
<?php echo $image->file_meta ?>
Кеш чистил и в Joomla и в браузере
*

Stasweb

  • Завсегдатай
  • 1501
  • 24 / 0
Вот весь код
Спойлер
[свернуть]
*

gartes

  • Завсегдатай
  • 1859
  • 142 / 6
  • Е = mс²
echo shopFunctionsF::limitStringByWord ($image->file_meta, 80, ' ...')
Точка с запятой где ? ;;;;;;;;;;;;;;;;;;;
*

gartes

  • Завсегдатай
  • 1859
  • 142 / 6
  • Е = mс²
echo shopFunctionsF::limitStringByWord ($image->file_title, 10, ' ...');

Вот код
А вот ссылка..

Смотри сюда.
 
« Последнее редактирование: 30.01.2016, 10:09:09 от gartes »
*

gartes

  • Завсегдатай
  • 1859
  • 142 / 6
  • Е = mс²
Меняем с 10  на 20
Код
 echo shopFunctionsF::limitStringByWord ($image->file_title, 20, ' ...');

Смотрим
*

gartes

  • Завсегдатай
  • 1859
  • 142 / 6
  • Е = mс²
Может просто CSS тебе  прячет это... ? Хотя вроде не должно..
*

Stasweb

  • Завсегдатай
  • 1501
  • 24 / 0
Все вот так работает
Код
<div class="file_meta_title"><?php
if (!empty($image->file_meta)) {
echo shopFunctionsF::limitStringByWord ($image->file_meta, 28, ' ...') ;
}
?>
</div>
Вот _https://lik-astana.kz/oformlenie-v-baget-ramki/oformlenie-futbolok-v-ramu-detail.html.
Спасибо
« Последнее редактирование: 13.08.2024, 10:51:18 от Stasweb »
*

gartes

  • Завсегдатай
  • 1859
  • 142 / 6
  • Е = mс²
*

Stasweb

  • Завсегдатай
  • 1501
  • 24 / 0
Да бывает 504 - 508  ошибки что делать не знаю.
Сейчас работает нормально посмотрите
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Как вывести ID товара в описании товара?

Автор Stasweb

Ответов: 8
Просмотров: 5285
Последний ответ 28.11.2022, 23:22:27
от Evgen Kulibin
Количество товара при покупке на складе не меняется VM 3

Автор Olga89

Ответов: 9
Просмотров: 1117
Последний ответ 28.04.2021, 14:11:35
от Olga89
Количество товаров (а не единиц) в корзине VirtueMart

Автор rsn

Ответов: 5
Просмотров: 1344
Последний ответ 11.06.2019, 20:19:31
от rsn
Количество товаров на странице - как поменять значения?

Автор artem_wrong

Ответов: 7
Просмотров: 1179
Последний ответ 03.04.2019, 17:27:49
от artem_wrong
Непустое количество товара

Автор gertruda

Ответов: 5
Просмотров: 723
Последний ответ 12.10.2017, 17:34:23
от gertruda