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

Маэстро

  • Захожу иногда
  • 51
  • 0 / 0
Всем привет.
А можно ли как нибудь сделать так, чтобы при клике по миниатюрной фотки, которая выводится при выборе галереи, сразу открывалась полная версия картинки (в лайтбоксе), без промежутчной средней версии?

Datso Gallery 1.5 .

Готов заплатить за подобную модификацию.
*

Маэстро

  • Захожу иногда
  • 51
  • 0 / 0
Это вобще возможно сделать?
*

Jekos

  • Осваиваюсь на форуме
  • 31
  • 2 / 0
Спасибо.. что откликнулись на предложение.. Но вот сейчас сам умудрился это сделать..
Описываю как:
В файле datsogallery.php добавляем в начало  лайтбоксовские скрипты:
 if ($ad_lightbox){
    $lightbox  = "<script type=\"text/javascript\" src=\"$gallerypath/js/lightbox/js/prototype.js\"></script>\n";
   $lightbox .= "<script type=\"text/javascript\" src=\"$gallerypath/js/lightbox/js/scriptaculous.js?load=effects\"></script>\n";
   $lightbox .= "<script type=\"text/javascript\" src=\"$gallerypath/js/lightbox/js/lightbox.js\"></script>\n";
   $lightbox .= "<link rel=\"stylesheet\" href=\"$gallerypath/js/lightbox/css/lightbox.css\" type=\"text/css\" media=\"screen\" />\n";
    $mainframe->addCustomHeadTag( $lightbox );
    }
Далее  в этом же файле находим строчку :
echo "<div align='center'><a href='" . sefRelToAbs("$dgurl&func=detail&catid=$catid&id=$row1->id") . "'>

и меняем её на

echo "<div align='center'><a rel='lightbox'  href='$originalpath$row1->imgthumbname'>

Готово...
Вся суть в том, что Датсо Гэллери использует одинаковые именна файлов для миниатюр и полноразмерных копий. Поэтому в имени файла в ссылке на оригинал используется имя миниатюры (так как имя оригинала мне получить не удалось), но берется этот файл  по адресу оригинальных фоток.

Сам я не программер, поэтому хотелось услышать мнения опытных пользователей, на сколько корректна эта модификаия, и не вызовет ли она каких-нибудь конфликтов в дальнейшей эксплуатации галереи.




Ну тут вместо

echo "<div align='center'><a rel='lightbox'  href='$originalpath$row1->imgthumbname'>

надо ставить


echo "<a rel='ad_lightbox'  href='$originalpath$row1->imgoriginalname'>

Ибо imgthumbname это имя миниэскиза.

Счас докопался до того что открывается изображение большое но не лайтбоксом а просто как обычно по ссылке (Копаюсь в версии 1.4.1.)
« Последнее редактирование: 05.02.2008, 03:34:12 от Jekos »
*

Jekos

  • Осваиваюсь на форуме
  • 31
  • 2 / 0
Учитывая мои нулевые знания пхп постараюсь рассказать о том как я приделал лайтбокс к миниэскизу в версии 1.4.1. ;D

Итак, файл datsogallery.php

1. После строки $thumbnaildir       = $mosConfig_absolute_path . $ad_paththumbs . "/";

(данная строка будет только у тех, кто делал предыдущий хак по внедрению watermark на мини эскизы)

вставляем:

Код
 if ($ad_lightbox){
    $lightbox  = "<script type=\"text/javascript\" src=\"$gallerypath/js/lightbox/js/prototype.js\"></script>\n";
$lightbox .= "<script type=\"text/javascript\" src=\"$gallerypath/js/lightbox/js/scriptaculous.js?load=effects\"></script>\n";
$lightbox .= "<script type=\"text/javascript\" src=\"$gallerypath/js/lightbox/js/lightbox.js\"></script>\n";
$lightbox .= "<link rel=\"stylesheet\" href=\"$gallerypath/js/lightbox/css/lightbox.css\" type=\"text/css\" media=\"screen\" />\n";
    $mainframe->addCustomHeadTag( $lightbox );
    } else {
    $standart_popup  = "<script type=\"text/javascript\" src=\"$gallerypath/sub_window.js\"></script>\n";
    $mainframe->addCustomHeadTag( $standart_popup );
    }

2. Я не помню что там было ранее  :laugh: у меня, но сейчас участок кода между строчками

Код
$dghits = _DG_HITS;
    $dgvotes = _DG_RATING;
    $dgcomment = _DG_COMMENT1;
$tle = ereg_replace('"', '', $row1->imgtitle);

и строчками

Код
if ($rowcounter % $ad_cp <> 0) {
for ($i = 1; $i <= ($ad_cp - ($rowcounter % $ad_cp)); $i++) {


 выглядит вот так: 
 
Код
   if ($ad_showtip) 	{

    echo "<strong>$tle</strong><br>";
   
echo "<div align='center'><a rel=\"lightbox\" href='$originalpath$row1->imgoriginalname' onclick=\"return popup('".$wm."oid=".$id."', '$tle')\"><img src='".$wm."tid=".$row1->id."' style='".$ad_imgstyle."' alt='".$tle."' /></a><br />";
} else {
    echo "<div align='center'><a rel='lightbox'  href='$originalpath$row1->imgoriginalname'>
<img src='$thumbnailpath$row1->imgthumbname' style='".$ad_imgstyle."' title='".$tle."' alt='".$tle."' /><div>$tle</div></a></div>";
    }
    echo "</td>\n";
    $rowcounter++;
    }
________________________________________________________________

Простите за извращеный подход, но в итоге получилось  ^-^

Единственная беда, на лайтбоксе перестал отображаться ватермарк  :'(
Если подскажете как его туда обратно запихать, буду очень рад

Работает всё тут:

http://rg-reklama.ru/component/option,com_datsogallery/Itemid,171/func,viewcategory/catid,67/

« Последнее редактирование: 20.03.2008, 00:32:31 от beliyadm »

Всё сделал, в опере работает а в IE почемуто не работает... В чом проблема интересно?
Если не сложно вылажите пожалуйста файл "datsogallery.php", хочу проверить, может я чтото не так сделал, хотя мне кажется всё придельно просто...

Всё, у меня не получается! Ктонибудь может сделать это за $ и сколько бы это стоило?
*

ageent

  • Захожу иногда
  • 122
  • 36 / 4
*

zulic

  • Осваиваюсь на форуме
  • 31
  • 0 / 0
Есть у кого-то готовый файл с изменениями для версии 1,62 ?
*

azizovslava

  • Осваиваюсь на форуме
  • 48
  • 1 / 0
Люди, подскажите плиз. Каким образом сделать тоже самое в модуле вывода случайных фото - mod_datsogallery_ultimate_copy
*

MOHCTPUK

  • Захожу иногда
  • 50
  • 5 / 6
  • d[-_-]b
Если не ошибаюсь мне тоже это надо а точнее:
Вот вошол в галерею, потом выбрал категорию, и напр. тут 20 русинков, вот и при нажатиии хочючтобы сразу оригинал показывался бы в LightBox, т.е. что бы пропустить часть страницы где написанно информация о картине.
???
*

apricot

  • Новичок
  • 3
  • 0 / 0
Спасибо помогло, сделал на 1.62.
На slimbox не получилось сделать, знаний в php почти нет.
Пришлось LightBox из 1.5 добавить.
Подскажите как теперь при открытии в LightBox на белом поле вывести название картинок и описание  !!!???!!!
Или как эти коды под slimbox подогнать.
« Последнее редактирование: 13.03.2009, 14:00:32 от apricot »
*

apricot

  • Новичок
  • 3
  • 0 / 0
Подскажите как теперь при открытии в LightBox на белом поле вывести название картинок и описание  !!!???!!!
Может кому пригодится.
Содержимое атрибута title - это описание, прилагаемое при просмотре к полно размерной фотографии.
Но title должен стоять в ссылке, т.е. в теге <a href="" title=""></a>. В коде выше title стоит в img.
А уже затем можно вывести и название фотки ($tle), и поле автора ($row1->imgauthor - если вписывется в ручную), и описание (сами найдете чем).
Вот так к примеру
Код
<a href="" title='".$tle."<br>".$row1->imgauthor."'></a>

Помогла эта статья: http://www.linkexchanger.su/2008/65.html
*

scaners

  • Захожу иногда
  • 131
  • 15 / 0
Честно говоря не совсем понятно. Объясните толком. Имеется Datso 1.6 Надо сделать, чтобы открывалось полноразмерное изображение сразу с миниатюры. Но без лайтбоксов всяких. Какую строчку и на что менять надо? Спасибо!
*

LegioNer

  • Осваиваюсь на форуме
  • 35
  • 1 / 0
Спасибо помогло, сделал на 1.62.
На slimbox не получилось сделать, знаний в php почти нет.
Пришлось LightBox из 1.5 добавить.
Подскажите как теперь при открытии в LightBox на белом поле вывести название картинок и описание  !
Или как эти коды под slimbox подогнать.

Плиз дай ссылку на LightBox из 1.5 , не могу найти старой версии.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Хак вывода из превьюшки (малый эскиз) сразу в лайтбокс. [решение]

Автор Peroon

Ответов: 36
Просмотров: 13972
Последний ответ 09.02.2011, 10:56:04
от Peroon
teXtoniX DG. Измененая версия DG 1.8.3

Автор Peroon

Ответов: 8
Просмотров: 6347
Последний ответ 10.01.2011, 11:49:59
от anthophyta
От мини-эскизов сразу в лайтбокс. Как сделать? DatsoPic

Автор kans

Ответов: 15
Просмотров: 18769
Последний ответ 27.02.2010, 22:19:48
от Peroon