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

sasha198407

  • Осваиваюсь на форуме
  • 10
  • 0 / 0
шаблон на Joomala и IE7.0.5730
« : 08.08.2011, 16:03:51 »
Собрал сайт http://sasha198407.byethost5.com/ustina2/
Во-всех браузерах отображается отлично, а вот в IE7.0.5730. Подвал (блок art-footer) наезжает на модуль регистрации(блок art-left1).

index.php
<?php
defined('_JEXEC') or die('Restricted access'); // no direct access
require_once dirname(__FILE__). DIRECTORY_SEPARATOR . 'functions.php';
$document = null;
if (isset($this))
  $document = & $this;
$baseUrl = $this->baseurl;
$templateUrl = $this->baseurl . '/templates/' . $this->template;
artxComponentWrapper($document);
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="<?php echo $this->language; ?>" lang="<?php echo $this->language; ?>" >
<head>
 <jdoc:include type="head" />
 <link rel="stylesheet" href="<?php echo $this->baseurl; ?>/templates/system/css/system.css" type="text/css" />
 <link rel="stylesheet" href="<?php echo $this->baseurl; ?>/templates/system/css/general.css" type="text/css" />
 <link rel="stylesheet" type="text/css" href="<?php echo $templateUrl; ?>/css/template.css" media="screen" />
 <!--[if IE 6]><link rel="stylesheet" href="<?php echo $templateUrl; ?>/css/template.ie6.css" type="text/css" media="screen" /><![endif]-->
 <!--[if IE 7]><link rel="stylesheet" href="<?php echo $templateUrl; ?>/css/template.ie7.css" type="text/css" media="screen" /><![endif]-->
 <script type="text/javascript" src="<?php echo $templateUrl; ?>/jquery.js"></script>
 <script type="text/javascript">jQuery.noConflict();</script>
 <script type="text/javascript" src="<?php echo $templateUrl; ?>/script.js"></script>
</head>
<body>
<div id="art-main">
<div class="art-sheet">
    <div class="art-sheet-tl"></div>
    <div class="art-sheet-tr"></div>
    <div class="art-sheet-bl"></div>
    <div class="art-sheet-br"></div>
    <div class="art-sheet-tc"></div>
    <div class="art-sheet-bc"></div>
    <div class="art-sheet-cl"></div>
    <div class="art-sheet-cr"></div>
    <div class="art-sheet-cc"></div>
    <div class="art-sheet-body">
<div class="art-header">
    <div class="art-header-center">
                <div class="art-header-jpeg"></div>
    </div>

</div>

 <div class="art-bloke">
     <div class="art-poisk"> 
             <jdoc:include type="modules" name="banner1" style="artstyle" artstyle="art-nostyle" />
     </div>   
     <div class="art-cart">   
             <jdoc:include type="modules" name="cart" style="artstyle" artstyle="art-nostyle" />
     </div>       
</div>

<?php echo artxPositions($document, array('top1', 'top2', 'top3'), 'art-block'); ?>
<div class="art-content-layout">
    <div class="art-content-layout-row">
<?php if (artxCountModules($document, 'left')) : ?>
<div class="art-layout-cell art-sidebar1">
<?php echo artxModules($document, 'left', 'art-block'); ?>
<div class="art-left1">
      <jdoc:include type="modules" name="left1" style="artstyle" artstyle="art-nostyle" />
</div>
  <div class="cleared"></div>
</div>
<?php endif; ?>
<?php $contentCellStyle = artxCountModules($document, 'left')? 'content' : 'content-wide'; ?>
<div class="art-layout-cell art-<?php echo $contentCellStyle; ?>">

<?php
  echo artxModules($document, 'banner2', 'art-nostyle');
  if (artxCountModules($document, 'breadcrumb'))
    echo artxPost(null, artxModules($document, 'breadcrumb'));
  echo artxPositions($document, array('user1', 'user2'), 'art-article');
  echo artxModules($document, 'banner3', 'art-nostyle');
?>
<?php if (artxHasMessages()) : ?><div class="art-post">
    <div class="art-post-body">
<div class="art-post-inner">
<div class="art-postcontent">

<jdoc:include type="message" />

</div>
<div class="cleared"></div>

</div>

      <div class="cleared"></div>
    </div>
</div>
<?php endif; ?>
<jdoc:include type="component" />
<?php echo artxModules($document, 'banner4', 'art-nostyle'); ?>
<?php echo artxPositions($document, array('user4', 'user5'), 'art-article'); ?>
<?php echo artxModules($document, 'banner5', 'art-nostyle'); ?>

  <div class="cleared"></div>
</div>

    </div>
</div>
<div class="cleared"></div>


<?php echo artxPositions($document, array('bottom1', 'bottom2', 'bottom3'), 'art-block'); ?>
<jdoc:include type="modules" name="banner6" style="artstyle" artstyle="art-nostyle" />
<div class="art-footer">
    <div class="art-footer-t"></div>
    <div class="art-footer-l"></div>
    <div class="art-footer-b"></div>
    <div class="art-footer-r"></div>
    <div class="art-footer-body">
        <div class="art-footer-text">
  <?php if (artxCountModules($document, 'copyright') == 0): ?>
    <?php ob_start(); ?>
<p><a href="http://127.0.0.1/admin/admin/">Главная</a> | <a href="http://127.0.0.1/admin/admin/index.php?option=com_content&view=article&id=1&Itemid=2">Доставка</a> | <a href="http://127.0.0.1/admin/admin/index.php?option=com_content&view=article&id=2&Itemid=3">Контакты</a> | <a href="http://127.0.0.1/admin/admin/index.php?option=com_content&view=article&id=3&Itemid=4">Оптовикам</a></p><p>ООО  "Устина" &copy; %YEAR%. Все права защищены.</p>

    <?php echo str_replace('%YEAR%', date('Y'), ob_get_clean()); ?>
  <?php else: ?>
  <?php echo artxModules($document, 'copyright', 'art-nostyle'); ?>
  <?php endif; ?>
        </div>
      <div class="cleared"></div>
    </div>
</div>
      <div class="cleared"></div>
    </div>
</div>
<div class="cleared"></div>
<p class="art-page-footer"><br></p>

</div>
</body>
</html>



templete.css
#navigation
{
  text-align: center;
}

.article h3 img
{
  border: none;
  display: inline;
  margin: 0;
  padding: 0;
}

.art-footer-text .moduletable
{
  border: none;
  margin: 0;
  padding: 0;
}

.pollstableborder td {
  vertical-align: middle;
}

.img_caption.left
{
  float: left;
  margin-right: 1em;
}

.img_caption.right
{
  float: right;
  margin-left: 1em;
}

.img_caption.left p
{
  clear: left;
  text-align: center;
}

.img_caption.right p
{
  clear: right;
  text-align: center;
}

.img_caption img
{
  margin: 0;
}

.contentheading
{
font-size: 16px;
  color: #000000;
}

#system-message ul li {
  background-image: none;
  padding-left: 0;
}

/* Plugin compatilibity. */

/* 152316, DOCman */

.dm_taskbar ul
{
  background-image: none;
  margin: 0;
  padding: 0;
}

.dm_taskbar ul li
{
  background-image: none;
}





template7.css.
/* begin Box, BlockContent */

.art-blockcontent-body
{
  zoom: 1;
}
/* end Box, BlockContent */

/* begin Button */
.art-button-wrapper .art-button-r
{
  clip: rect(auto auto auto 406px);
}
/* end Button */

/* begin Box, Post */

.art-post-body
{
  zoom: 1;
}
/* end Box, Post */

/* begin PostContent */
.art-postcontent
{
  height: 1%;
}
/* end PostContent */

/* begin Footer */
.art-footer
{
  top: -1%;
}

.art-footer-r
{
  clip: rect(auto auto auto 40px);
}

/* end Footer */

/* begin LayoutCell, content */
.art-content {width: auto;}
.art-content-layout .art-layout-cell, .art-content-layout .art-layout-cell .art-content-layout .art-layout-cell
{
  display: block;
  position:relative;
  float: left;
  clear: right;
}
.art-content-layout .art-layout-cell, .art-content-layout .art-layout-cell .art-content-layout .art-layout-cell {  zoom:1; }
.art-layout-cell .art-layout-cell{ float: none; clear: both;}
/* end LayoutCell, content */



/* Plugin compatilibity. */

/* 154150, news pro gk1 */
.gk_npro_full_scroll1
{
  position: relative;
}

.nspro_bg_wrap .art-button-wrapper a
{
  float: none !important;
}
 Буду рад любой помощи, заранее спасибо.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Слетели URL и шаблон

Автор max888

Ответов: 2
Просмотров: 7586
Последний ответ 28.12.2020, 17:37:52
от draff
VirtueMart 1.9 шаблон письма

Автор m176

Ответов: 0
Просмотров: 4863
Последний ответ 23.10.2020, 12:38:35
от m176
шаблон IT Newsy - By IceTheme проблема со списком.

Автор wolf34

Ответов: 4
Просмотров: 8316
Последний ответ 30.05.2017, 11:52:27
от darkghost
Как изменить шаблон категории в Joomla 1.5?

Автор nagav

Ответов: 8
Просмотров: 7783
Последний ответ 24.10.2016, 22:09:01
от nagav
Не стал показываться шаблон

Автор rezchik

Ответов: 2
Просмотров: 6604
Последний ответ 14.08.2016, 22:12:50
от rezchik