Новости Joomla

Свои типы полей в Joomla.Это большая тема, о которой можно говорить очень много

Свои типы полей в Joomla.Это большая тема, о которой можно говорить очень много

👩‍💻 Свои типы полей в Joomla.Это большая тема, о которой можно говорить очень много. Самое главное, что возможности применения ограничиваются только вашей больной фантазией. Вы строите интерфейс своего модуля или плагина и вам нужно подтянуть данные из сторонней системы (список чего-нибудь по какому-нибудь API), чтобы сохранить выбранный id в Joomla. Или сделать какую-то проверку и в зависимости от неё показать то или иное сообщение пользователю. Для этого подойдут свои пользовательские типы полей. Интерфейс Joomla по большей части описан в XML-файлах. У каждого из них свои параметры. Некоторые не описаны в документации (manual.joomla.org), поэтому самым любопытным будет полезно заглянуть в собственно файлы фреймворка по пути

libraries/src/Form/FormField.php, а так же в
libraries/src/Form/Fields. У каждого класса поля перечислены его специфические свойства, которые можно описывать в XML. А в своём типе поля вы можете устанавливать эти значения программно. В моём модуле WT Quick links под капотом происходят изменения. Теперь для работы (в админке) ему нужен вспомогательный плагин. А в самом модуле нам бы проверить, а не выключен ли он? В Joomla есть тип поля Note - заметка. Его можно использовать для вывода примечаний.

<field type="note"     name="your_note_for_user"     label="Заголовок примечания"     title="Альтернативный способ для заголовка"     description="Текст примечания"     class="col-12 alert alert-info"     heading="h1"     close="true"/>
heading - указывать уровень заголовка.
close - позволяет закрыть это примечание. В классе поля
libraries/src/Form/Field/NoteField.php описана логика вывода. И в принципе оно нам подходит для нашей задачи. Но оно будет выводить сообщение всегда, а нам нужно только тогда, когда плагин отключён.Поэтому берём и создаём свой класс поля, который мы унаследуем от
NoteField. Это значит, что у нас в руках будет весь инструментарий стандартного поля
Note + то, что мы сами добавим. В XML-манифест добавляем наше поле
<field type="systempluginstatus"      name="systempluginstatus"     addfieldprefix="Joomla\Module\Wtquicklinks\Site\Fields"/>
-
type - имя файла и класса,-
addfieldprefix - указываем namespace к нашему классу, может быть любой нам нужный-
name - нельзя полю без имени...Это означает, что Joomla будет использовать класс поля из файла
modules/mod_wt_quick_links/src/Fields/SystempluginstatusField.php.А в классе поля будет написано следующее:
<?php// namespace для атрибута addfieldprefixnamespace Joomla\Module\Wtquicklinks\Site\Fields;// нельзя напрямую обращаться к этому файлуdefined('_JEXEC') or die;// подключаем родительский класс для переопределенияuse Joomla\CMS\Form\Field\NoteField;use Joomla\CMS\Language\Text;use Joomla\CMS\Plugin\PluginHelper;// имя класса и имя файла точь-в-точьclass SystempluginstatusField extends NoteField{     protected $type = 'Systempluginstatus';     protected function getLabel()          {               // если плагин не включён               if(PluginHelper::isEnabled('system','wtquicklinks')) {                    // меняем свойства родительского класса                    $this->class = 'alert alert-danger w-100';                    $this->element['label'] = '⚠️ А-а-а-а!';                    $this->element['description'] = 'Плагин не включён!!';                    // и просто рендерим его с нашими свойствами                    return parent::getLabel();               }          // А иначе всё хорошо, скрываем поле из виду.          $this->parentclass = 'd-none';          return '';     }}
Просто и удобно. И людям приятно, что о них позаботились и рассказали почему что-то не работает.@webtolkru#joomla #php #webdev #разработка

Обновлена информация в Плане развития Joomla

👩‍💻 Обновлена информация в Плане развития Joomla.Здесь собрана информация о датах релизов, описаны принципы версионирования, указаны ответственные за релизы, а так же даты окончания поддержки релизов. Опираясь на эту информацию вы можете планировать развитие ваших интернет-проектов.👩‍💻 Что нового?⛔️ Joomla 4.Дата окончания исправления ошибок безопасности в версии 4.x - 14 октября 2025г. ⚠️ После этой даты Joomla 4 прекратит получать какие-либо обновления, в том числе безопасности - вообще. Рекомендуем обновить ваши сайты до актуальной Joomla 5.✅ Joomla 5.- Дата окончания исправления ошибок в версии 5.x - 13 октября 2026г.- Дата окончания исправления ошибок безопасности в версии 5.x - 12 октября 2027 года.- Текущая актуальная (на момент написания заметки) версия - 5.3.1.- Опубликовано расписание выхода релизов Joomla 5.4. Стабильный релиз ожидается 14 октября 2025 года.✅ Joomla 6.- Дата окончания исправления ошибок в версии 6.x - 17 октября 2028г.- Дата окончания исправления ошибок безопасности в версии 6.x - 16 октября 2029г.- Опубликовано расписание выхода релизов Joomla 6.0. Стабильный релиз ожидается 14 октября 2025 года.- Для разработчиков уже доступна Joomla 6.0.0-alpha1.✅ Joomla! Framework.Обновлена информация о Joomla! Framework - полноценном PHP-фреймворке для разработки. Он в версиях 1.х и 2.х был самостоятельным параллельным проектом, однако начиная с версии Joomla 4.0 стал её основой. Добавлена информация о Joomla! Framework 3.x, который вышел 6 октября 2023 года. Его можно использовать в тех случаях, когда вам в проекте не нужна CMS Joomla целиком.Подробнее на сайте Joomla-сообщества Joomlaportal.ru#joomla #community

Компания JetBrains рассказала о своей поддержке Joomla

Компания JetBrains рассказала о своей поддержке Joomla

JetBrains - один из мировых лидеров в разработке программного обеспечения для разработчиков. Её программные продукты - это IDE - профессиональные среды разработки, которые отличаются от простого блокнота/редактора с плагинами набором всевозможных инструментов для разработчиков, глубоким анализом кодовой базы, подсказками по ней и по языку программирования, отладкой ошибок и многим-многим другим. Одним из самых известных продуктов компании является IDE PHP Storm, который можно назвать отраслевым стандартом PHP-разработчика.

В статье How PhpStorm Helps Maintain PHP Open-Source Projects: Interviews and Real-World Examples в блоге компании описываются Open Source проекты, которым JetBrains оказывает поддержку (это могут быть бесплатные лицензии для разработчиков для некоммерческих проектов).

В список попали:

  • PHPUnit - фреймворк для unit-тестирования в PHP
  • Doctrine DBAL - библиотека для PHP, которая предоставляет лёгкий и гибкий слой для коммуникации с базой данных. Она поддерживает различные базы данных через единый и согласованный API.
  • CodeIgniter — популярный MVC-фреймворк для разработки на PHP
  • Joomla! - наша любимая CMS.

Эти названия (кроме "Joomla") чаще всего не слышат вебмастера и разработчики обычных сайтов и интернет-магазинов. Но эти названия хорошо знакомы PHP-разработчикам, которые создают сложные и высоконагруженные проекты и микросервисы. То, что Joomla оказалась в одном ряду с такими программными инструментами - делает ей честь.

🙏 За ссылку спасибо участнику нашего сообщества Ринату Кажетову (@rkazhet).

Подпишитесь на @joomlafeed

0 Пользователей и 1 Гость просматривают эту тему.
  • 16 Ответов
  • 16038 Просмотров
*

victorantoniak

  • Moderator
  • 1578
  • 185 / 2
  • JoomShopping Team
Тут будут выкладываться правки, которые необходимо сделать для апгрейда версий, либо тонкости работы с ЖШ.
Любые просилки, желалки, советы по улучшению без предоставления конкретных переменных или необходимых кусков кода, будут удалятся с "-" в репу и без объяснения причин.

JoomShopping 3.8.0

Важные изменения в шаблонах
добавьте строки
Код
<?php print $this->checkout_navigator?>
<?php print $this->small_cart?>

в файлах
templates/default/checkout/payments.php
templates/default/checkout/adress.php
templates/default/checkout/previewfinish.php
templates/default/checkout/shippings.php
« Последнее редактирование: 22.07.2012, 09:12:02 от nevigen »
*

nevigen

  • Moderator
  • 10447
  • 863 / 25
  • http://n*****n.com
Re: Для сторонних разработчиков
« Ответ #1 : 21.08.2012, 18:03:43 »
3.9 изменения в шаблоне.

Добавлен файл
site\templates\default\product\demofiles.php


В файле
site\templates\default\product\product_default.php

Код
if (count ($this->demofiles)){?>
<div class="list_product_demo">
<table>
    <?php foreach($this->demofiles as $demo){?>
    <tr>
        <td class="descr"><?php print $demo->demo_descr?></td>            
        <?php if ($this->config->demo_type == 1) { ?>
            <td class="download"><a target="_blank" href="<?php print $this->config->demo_product_live_path."/".$demo->demo;?>" onClick="popupWin = window.open('<?php print SEFLink("index.php?option=com_jshopping&controller=product&task=showmedia&media_id=".$demo->id);?>', 'video', 'width=<?php print $this->config->video_product_width;?>,height=<?php print $this->config->video_product_height;?>,top=0,resizable=no,location=no'); popupWin.focus(); return false;"><img src = "<?php print $this->config->live_path.'images/play.gif'; ?>" alt = "play" title = "play"/></a></td>
        <?php } else { ?>
            <td class="download"><a target="_blank" href="<?php print $this->config->demo_product_live_path."/".$demo->demo;?>"><?php print _JSHOP_DOWNLOAD;?></a></td>
        <?php }?>
    </tr>
    <?php }?>
</table>
</div>
<?php } ?>

изменен на

Код
<?php print $this->_tmp_product_html_before_demofiles; ?>
<div id="list_product_demofiles"><?php include(dirname(__FILE__)."/demofiles.php");?></div>


В файле
site\templates\default\user\editaccount.php

добавлено

Код
<?php if ($config_fields['password']['display']){?>
        <tr>
          <td class="name">
            <?php print _JSHOP_PASSWORD ?> <?php if ($config_fields['password']['require']){?><span>*</span><?php } ?>
          </td>
          <td>
            <input type = "password" name = "password" id = "password" value = "" class = "inputbox" />
          </td>
        </tr>
        <?php } ?>
        <?php if ($config_fields['password_2']['display']){?>
        <tr>
          <td class="name">
            <?php print _JSHOP_PASSWORD_2 ?> <?php if ($config_fields['password_2']['require']){?><span>*</span><?php } ?>
          </td>
          <td>
            <input type = "password" name = "password_2" id = "password_2" value = "" class = "inputbox" />
          </td>
        </tr>
        <?php } ?>
        <?php echo $this->_tmpl_editaccount_html_4_1?>
« Последнее редактирование: 21.08.2012, 18:59:54 от victorantoniak »
Профессиональные / Бесплатные решения для JoomShopping
Не лечи бесплатно, ибо тот, кто лечится бесплатно, рано или поздно перестает ценить свое здоровье,
а тот, кто лечит бесплатно, рано или поздно перестает ценить результаты своего труда/ (с) Гиппократ?
Не ищите ответов, ищите решение !
*

victorantoniak

  • Moderator
  • 1578
  • 185 / 2
  • JoomShopping Team
Re: Для сторонних разработчиков
« Ответ #2 : 16.09.2012, 20:44:21 »
JoomShopping 3.11.0

Изменения в шаблоне

templates/default/product/load.js.php
Добавлено строку
Код
var translate_zoom_image = "<?php print addslashes(_JSHOP_ZOOM_IMAGE)?>";

Изменения в обработке мультивыбора характеристик:
Создано дополнительное поле `multilist` в таблице `#__jshopping_products_extra_fields` по которому определяется принадлежность поля к Множественному списку.

Другие изменения
http://www.webdesigner-profi.de/joomla-webdesign/components/com_forum/uploads/joomshopping_3.11.0_patch.zip
« Последнее редактирование: 22.09.2012, 22:20:54 от victorantoniak »
*

victorantoniak

  • Moderator
  • 1578
  • 185 / 2
  • JoomShopping Team
Re: Для сторонних разработчиков
« Ответ #3 : 22.09.2012, 17:56:48 »
JoomShopping 3.11.1

Изменения в CSS
добавлено
Код
.fielderror{
    background-color: #FDC055;
}

Платежные системы - Удалено поле Тип.
(Поле тип должно быть задано в инсталяторе платежной системы)
« Последнее редактирование: 25.09.2012, 23:32:21 от victorantoniak »
*

victorantoniak

  • Moderator
  • 1578
  • 185 / 2
  • JoomShopping Team
Re: Для сторонних разработчиков
« Ответ #4 : 13.10.2012, 01:37:57 »
JoomShopping 3.11.4

Изменен шаблон
checkout\finish.php

Код
<?php if (!empty($this->text)){?>
<?php echo $this->text;?>
<?php }else{?>
<p><?php print _JSHOP_THANK_YOU_ORDER?></p>
<?php }?>

Другие изменения
http://www.webdesigner-profi.de/joomla-webdesign/components/com_forum/uploads/joomshopping_3.11.4.patch
« Последнее редактирование: 13.10.2012, 01:45:46 от victorantoniak »
*

victorantoniak

  • Moderator
  • 1578
  • 185 / 2
  • JoomShopping Team
Re: Для сторонних разработчиков
« Ответ #5 : 13.10.2012, 15:44:40 »
JoomShopping 4.0.0

Для названий фотографий ипользуется 1 поле
jshopping_products - image (product_thumb_image, product_full_image - удалены)
jshopping_products_images - image_name (image_thumb, image_full - удалены)

удалено поле product_availability с таблицы jshopping_products
*

victorantoniak

  • Moderator
  • 1578
  • 185 / 2
  • JoomShopping Team
Re: Для сторонних разработчиков
« Ответ #6 : 24.11.2012, 20:14:56 »
JoomShopping 3.12.0

Изменения шаблона
http://www.webdesigner-profi.de/joomla-webdesign/components/com_forum/uploads/joomshopping_3.12.0_template.patch

Изменения
http://www.webdesigner-profi.de/joomla-webdesign/components/com_forum/uploads/joomshopping_3.12.0.patch

Изменения в расширениях доставок. Добавлено getPrices для расширений version=2 (Пример. /shippings/sm_standart_weight/sm_standart_weight.php в JoomShopping 3.12.0)
« Последнее редактирование: 24.11.2012, 20:23:07 от victorantoniak »
*

victorantoniak

  • Moderator
  • 1578
  • 185 / 2
  • JoomShopping Team
*

victorantoniak

  • Moderator
  • 1578
  • 185 / 2
  • JoomShopping Team
Re: Для сторонних разработчиков
« Ответ #8 : 20.03.2013, 00:37:17 »
JoomShopping 3.14.0 (4.2.0)

Изменения шаблона
http://www.webdesigner-profi.de/joomla-webdesign/components/com_forum/uploads/joomshopping_3.14.0_template.patch

Аддоны с ключами должи быть установлены с usekey=1
Пример
$addon = JTable::getInstance('addon', 'jshop');
$addon->loadAlias('addonalias');
$addon->set('name','name');
$addon->set('version','1.0.0');
$addon->set('usekey', '1');
$addon->set('uninstall','/components/.../uninstal.php');
$addon->store();
« Последнее редактирование: 20.03.2013, 00:46:18 от victorantoniak »
*

victorantoniak

  • Moderator
  • 1578
  • 185 / 2
  • JoomShopping Team
Re: Для сторонних разработчиков
« Ответ #9 : 15.04.2013, 17:31:05 »
JoomShopping 3.14.2 (4.2.1)

Изменения шаблона:
В каждом фале шаблона добавлено

<?php defined( '_JEXEC' ) or die(); ?>
*

victorantoniak

  • Moderator
  • 1578
  • 185 / 2
  • JoomShopping Team
« Последнее редактирование: 26.08.2013, 11:23:46 от victorantoniak »
*

victorantoniak

  • Moderator
  • 1578
  • 185 / 2
  • JoomShopping Team
« Последнее редактирование: 14.06.2014, 17:01:07 от victorantoniak »
*

victorantoniak

  • Moderator
  • 1578
  • 185 / 2
  • JoomShopping Team
Re: Для сторонних разработчиков
« Ответ #12 : 20.09.2014, 11:39:04 »
Joomshopping 3.19.0

Изменения в шаблоне
http://www.webdesigner-profi.de/joomla-webdesign/components/com_forum/uploads/template_changes_3.18.5_3.19.0.patch
Для шаблонов старых версий нужно добатить (минимум) 1 файл templates/default/content/content.php

Гостю задается usergroup_id = 0 (раньше была default значение групы)

Пример файла configupdate.php (Файл для проверка версий при инсталации аддона)

Код
<?php
$configupdate = array(
    'version'=>array(
        '3'=>array('min'=>'3.19.3', 'max'=>'3.99'),
        '4'=>array('min'=>'4.7.3', 'max'=>'7.99'),
    ),
    'MASSAGE_COMPLETED' => "Installed addon finished"
);
?>



3.19.2
Изменения шаблона
http://www.webdesigner-profi.de/joomla-webdesign/components/com_forum/uploads/joomshopping_template_changes_3.19.2.patch
« Последнее редактирование: 14.01.2015, 12:43:12 от victorantoniak »
*

masterbos

  • Осваиваюсь на форуме
  • 37
  • 1 / 2
  • Ты уверен?
« Последнее редактирование: 12.01.2015, 10:10:49 от victorantoniak »
*

victorantoniak

  • Moderator
  • 1578
  • 185 / 2
  • JoomShopping Team
*

victorantoniak

  • Moderator
  • 1578
  • 185 / 2
  • JoomShopping Team
Re: Для сторонних разработчиков
« Ответ #15 : 22.06.2018, 09:07:42 »
3.19.0 (4.7.0)

Ваши шаблоны должны быть обновлены
Скопировать
templates/default/content/content.php
в
templates/{yourtemplate}/content/content.php
*

victorantoniak

  • Moderator
  • 1578
  • 185 / 2
  • JoomShopping Team
Re: Для сторонних разработчиков
« Ответ #16 : 22.06.2018, 09:09:30 »
4.17.1

Ваши шаблоны должны быть обновлены
Скопировать

components\com_jshopping\templates\default\user\activationmail.php
components\com_jshopping\templates\default\user\activationmailadmin.php
components\com_jshopping\templates\default\user\registermail.php
components\com_jshopping\templates\default\user\registermailadmin.php

в

components\com_jshopping\templates\{yourtemplate}\user\activationmail.php
components\com_jshopping\templates\{yourtemplate}\user\activationmailadmin.php
components\com_jshopping\templates\{yourtemplate}\user\registermail.php
components\com_jshopping\templates\{yourtemplate}\user\registermailadmin.php
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Добавление сторонних комментариев в табы в карточке [Решено]

Автор AlexB

Ответов: 9
Просмотров: 802
Последний ответ 29.06.2020, 12:13:30
от AlexB
Обновления: тема для Сторонних Разработчиков

Автор avantyrist

Ответов: 2
Просмотров: 1073
Последний ответ 10.06.2014, 13:12:18
от avantyrist