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

nevai

  • Захожу иногда
  • 66
  • 0 / 0
У меня возникла такая проблема решил спросить у форумчан подскажите.
Вопрос!

Создал поля отдельно для каждых категорий напримере возьмём транспорт

В комплекте шёл модуль поиска вот я его скопировал один создал для общего поиска, а другой хотел отдельно для категории транспорт, но
Когда поле отмечено для определённой категории оно не входит в модуль поиска, а когда отмечаю для всех категорий входит. Itemid категории прописал в дополнительных полях вставил "ad_marka" например и не работате никто не подскажет как ето решить Помогите. Пример работы вот http://aydar.lg.ua/obyavleniya.html и на главной.  >:( >:( >:(

Joomla 1.5.22
mod_adsmanager_search
AdsManager 2.6
*

nevai

  • Захожу иногда
  • 66
  • 0 / 0
А в ответ тишина!
*

nevai

  • Захожу иногда
  • 66
  • 0 / 0
Вот код с модуля поиска в адсманагер 2.6 что править надо?
Код
<?php
// no direct access
defined('_JEXEC') or die( 'Restricted access' );

require_once(JPATH_BASE.'/administrator/components/com_adsmanager/models/configuration.php');
require_once(JPATH_BASE.'/administrator/components/com_adsmanager/models/field.php');
require_once(JPATH_BASE.'/administrator/components/com_adsmanager/models/category.php');
require_once(JPATH_BASE."/components/com_adsmanager/helpers/field.php");

$lang = JFactory::getLanguage();
$lang->load("com_adsmanager");

if (!defined('_ADSMANAGER_MODULE_SEARCH')) {
define( '_ADSMANAGER_MODULE_SEARCH', 1 );
function adsmanagerModuleSelectCategories($id, $level, $children,$catid) {
if (@$children[$id]) {
foreach ($children[$id] as $row) {
if ($level == "") { ?>
<option style="background-color:#dcdcc3;" value="<?php echo $row->id; ?>" <?php if ($catid == $row->id) echo "selected='selected'"; ?>><?php echo "-- ". $row->name." --"; ?></option>
<?php } else { ?>
<option value="<?php echo $row->id; ?>" <?php if ($catid == $row->id) echo "selected='selected'"; ?>><?php echo $row->name; ?></option>
<?php }
adsmanagerModuleSelectCategories($row->id, $level." >> ",$children,$catid);
}
}
}
}

/****************************************************/
jimport( 'joomla.session.session' );
$currentSession = JSession::getInstance('none',array());
$defaultvalues = $currentSession->get("searchfields",array());

$catid = intval( JRequest::getInt('catid', -1 ));
//$text_search = JRequest::getVar('tsearch','');
$app = &JFactory::getApplication();
$text_search = $app->getUserStateFromRequest('com_adsmanager.front_content.tsearch','tsearch',"");

$itemid = intval($params->get( 'default_itemid', JRequest::getInt('Itemid', 0 ) )) ;
$advanced_search = intval($params->get( 'advanced_search', 1)) ;
$search_by_cat = intval($params->get( 'search_by_cat', 1)) ;

$fields[] = $params->get( 'field1', "") ;
$fields[] = $params->get( 'field2', "") ;
$fields[] = $params->get( 'field3', "") ;
$fields[] = $params->get( 'field4', "") ;
$fields[] = $params->get( 'field5', "") ;
$type = $params->get( 'type', "table") ;
$listfields="";

foreach($fields as $field)
{
if (($listfields == "")&&($field != ""))
$listfields .= "'$field'";
if ($field != "")
$listfields .= ",'$field'";
}

$fieldmodel  = new AdsmanagerModelField();
$field_values = array();
if ($listfields != "")
{
$searchfields = $fieldmodel->getFieldsByName($listfields);
$field_values = $fieldmodel->getFieldValues();

foreach($searchfields as $field)
{
if ($field->cbfieldvalues != "-1")
{
/*get CB value fields */
$cbfieldvalues = $fieldmodel->getCBFieldValues($field->cbfieldvalues);
$field_values[$field->fieldid] = $cbfieldvalues;
}
}
}

$categorymodel = new AdsmanagerModelCategory();
$cats = $categorymodel->getCatTree();

$conf = new AdsmanagerModelConfiguration();
$baseurl = JURI::base();

$field = new JHTMLAdsmanagerField($conf,$field_values,"1",$fieldmodel->getPlugins(),$itemid,$baseurl);

$url = "index.php";

require(JModuleHelper::getLayoutPath('mod_adsmanager_search'));
$content="";
$path = JPATH_ADMINISTRATOR.'/../libraries/joomla/database/table';
JTable::addIncludePath($path);
*

BarsiK1

  • Осваиваюсь на форуме
  • 10
  • 0 / 0
Вот еще подобная тема - мучается народ  >:(
Правда у меня версия 2.7, но главное идея, а там докумекаем.
Ну, хотя б пните кто-нибудь, плз, придайте ускорения - весь инет не по разу перерыла, вопросы подобные встречаю, а ответа нет.
Во всех файлах потыкалась (уже, кажется все наизусть знаю).
Доску почти доделала. И у финишной черты вот такой косячок вылез. Обидно, честное слово  >:(
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

[Решено]Дублирования ссылки "объвления" в breadcrumb, в компоненте AdsManager

Автор nicklas

Ответов: 4
Просмотров: 6124
Последний ответ 25.04.2024, 23:13:18
от Rinat abzyi
AdsManager вывод нужных полей по отдельности

Автор klekovkinandrey

Ответов: 2
Просмотров: 16785
Последний ответ 06.04.2024, 09:54:15
от Rinat abzyi
AdsManager загрузка файлов

Автор FlexNL

Ответов: 1
Просмотров: 5339
Последний ответ 21.10.2021, 17:20:09
от khan-alex
AdsManager 2.9.13 Есть ли возможность добавить функцию снять с публикации по мимо редактировать и уд

Автор murovoz

Ответов: 11
Просмотров: 15772
Последний ответ 27.03.2020, 22:39:23
от Pavel
Два компонента AdsManager в одном движке

Автор kaman62

Ответов: 12
Просмотров: 30649
Последний ответ 27.03.2020, 22:32:04
от Pavel