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

Kostyan

  • Осваиваюсь на форуме
  • 12
  • 0 / 0
Как сделать? Подскажите, у меня штот не получается, запарился уже :o
*

beliyadm

  • Moderator
  • 9758
  • 1665 / 66
  • Севастополь, Россия
стандартными средствами - никак, править файлы компонента, переписывать функцию голосования и прочее
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

Kostyan

  • Осваиваюсь на форуме
  • 12
  • 0 / 0
Я пробовал вот так: код голосования из sub_viewdetails.php
1.
Код
    if($vote->imgvotes!=0)
    $result = number_format(intval($vote->imgvotesum) / intval( $vote->imgvotes ),2)*20;
    $imgvotesum = intval($vote->imgvotesum);
    $imgvotes = intval($vote->imgvotes);
    $tips  = "<link href=\"".$mainframe->getCfg('live_site')."/components/com_datsogallery/css/dgvote.php\" rel=\"stylesheet\" type=\"text/css\" />\n";
    $tips .= "<script type=\"text/javascript\" src=\"".$mainframe->getCfg('live_site')."/components/com_datsogallery/js/dgvote.php\"></script>\n";
    $tips .= "<script type=\"text/javascript\">\n";
    $tips .= "var live_site = \"".$mainframe->getCfg('live_site')."\";\n";
    $tips .= "var dgvote_lang = new Array();\n";
    $tips .= "dgvote_lang[\"UPDATING\"] = \""._DGVOTE_UPDATING."\";\n";
    $tips .= "dgvote_lang[\"THANKS\"] = \""._DGVOTE_THANKS."\";\n";
    $tips .= "dgvote_lang[\"ALREADY_VOTE\"] = \""._DGVOTE_ALREADY_VOTE."\";\n";
    $tips .= "dgvote_lang[\"VOTES\"] = \""._DGVOTE_VOTES."\";\n";
    $tips .= "</script>\n";
    $mainframe->addCustomHeadTag($tips);
    echo "<tr class='sectiontableentry2'><td width='30%' valign='middle'><strong>". _DG_RATING_."</strong></td>\n";
    echo "<td width='70%' valign='top'>";
    echo "<div id=\"rating\">\n";
    echo "<div class=\"dgvote-inline\">\n";
    echo "<ul class=\"dgvote-star\">\n";
    echo "<li id=\"rating".$id."\" class=\"current\" style=\"width:".@$result."%\"></li>\n";
    echo "<li><a href=\"javascript:void(0)\" onclick=\"javascript:dgVote(".$id.",1,".$imgvotesum.",".$imgvotes.");\" title=\"1 "._DGVOTE_STAR1." 5\" class=\"one-star\">1</a></li>\n";
    echo "<li><a href=\"javascript:void(0)\" onclick=\"javascript:dgVote(".$id.",2,".$imgvotesum.",".$imgvotes.");\" title=\"2 "._DGVOTE_STAR234." 5\" class=\"two-stars\">2</a></li>\n";
    echo "<li><a href=\"javascript:void(0)\" onclick=\"javascript:dgVote(".$id.",3,".$imgvotesum.",".$imgvotes.");\" title=\"3 "._DGVOTE_STAR234." 5\" class=\"three-stars\">3</a></li>\n";
    echo "<li><a href=\"javascript:void(0)\" onclick=\"javascript:dgVote(".$id.",4,".$imgvotesum.",".$imgvotes.");\" title=\"4 "._DGVOTE_STAR234." 5\" class=\"four-stars\">4</a></li>\n";
    echo "<li><a href=\"javascript:void(0)\" onclick=\"javascript:dgVote(".$id.",5,".$imgvotesum.",".$imgvotes.");\" title=\"5 "._DGVOTE_STAR5." 5\" class=\"five-stars\">5</a></li>\n";
    echo "</ul>\n";
    echo "<div id=\"dgvote".$id."\" class=\"dgvote-box\">";
    if($imgvotes > 0) {
    echo "("._DGVOTE_VOTES.$imgvotes.")";
    } else {
    echo "("._DGVOTE_NO_VOTES.")";
    }

вставлял в datsogallery.php над строками
2.
Код
$database->setQuery("select * from #__datsogallery as a "
. " left join #__datsogallery_catg as c on c.cid=a.catid "
. " where a.published = '1' and a.catid = '$catid' "
. " and a.approved = 1 "
    . " and c.access<='$gid' "
. " order by a.ordering $ad_sortby limit " . $start . "," . $ad_perpage);
$rows = $database->loadObjectList();

как ни странно, функция голосования появилась над миниэскизами  ^-^ , но когда нажимаю голосовать, говорит что  Вы уже голосовали! (голосов 0). Затем снова: Вы еще не голосовали
Я так понимаю, надо в коде 1. переделать, чтобы оценивалась не фотка, а категория. Как вот это сделать млин.  :(
*

beliyadm

  • Moderator
  • 9758
  • 1665 / 66
  • Севастополь, Россия
Естественно так работать не будет, ибо в файле sub_votepic.php отрабатываются SQL запросы на обновление статистики для таблицы с картинками по $id, надо исправлять запросы и передавать $id категории, но не картинки.
У тебя же получается что - получаем ID, система думает что это идентификатор изображения, за которое уже голосовали :)
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

Kostyan

  • Осваиваюсь на форуме
  • 12
  • 0 / 0
beliyadm, какие запросы и где их необходимо отредактировать. Помоги осуществить эту фишку, буду счастлив и благодарен  >:(  может еще кому то пригодится. 
*

Kostyan

  • Осваиваюсь на форуме
  • 12
  • 0 / 0
Вот еще вопрос, http://news.ngs.ru/more/40971/  там на фотке в оригинальном размере есть ссылки prev, next внизу. Как их туда прилепить
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

В DatsoGallery показывает только одну картинку

Автор Belverk

Ответов: 10
Просмотров: 2478
Последний ответ 06.02.2013, 15:26:24
от Belverk
Как вставить категорию в материал?

Автор Maximuss

Ответов: 12
Просмотров: 3856
Последний ответ 29.04.2012, 13:50:04
от autokaif
Голосование в DatsoGallery 1.7.1

Автор koreeckz

Ответов: 11
Просмотров: 3794
Последний ответ 17.12.2010, 13:40:19
от Анастасия
Открыть сразу картинку

Автор gdai

Ответов: 1
Просмотров: 1729
Последний ответ 21.10.2010, 09:27:39
от gdai
404 ошибка при переходе на категорию изображений в DatsoGallery

Автор bred0generat0r

Ответов: 2
Просмотров: 2497
Последний ответ 11.07.2010, 17:23:27
от mastainfasta