Новости Joomla

SW JProjects v.2.5.0 - компонент каталога цифровых проектов на Joomla

SW JProjects v.2.5.0 - компонент каталога цифровых проектов на Joomla

👩‍💻 SW JProjects v.2.5.0 - компонент каталога цифровых проектов на Joomla.Компонент - менеджер цифровых проектов для Joomla! CMS. Компонент обеспечивает создание каталога цифровых проектов и предоставляет возможность скачивания, в том числе с использованием лицензионных ключей.👩‍💻 v.2.5.0. Что нового?Схемы структур данных для серверов обновлений. Теперь с SW JProjects вы может создавать сервер обновлений не только для расширений Joomla, но и свои собственные. Например, вам нужно, чтобы структура данных сервера обновлений была другая и формат должен быть, например, не XML, а JSON. Формирование структуры данных для сервера обновлений расширений Joomla вынесено в отдельный плагин. Вы можете создать свой собственный плагин и реализовать в нём нужную вам структуру данных, добавив или наоборот исключив отображаемые данные. Сервер обновлений в компоненте по-прежнему отображает информацию о списке проектов и их версиях, о конкретном проекте и его changelog.Можно выбрать схему данных сервера обновлений глобально для всего компонента, выбрать другую схему данных для категории проектов, а так же выбрать схему в каждом проекте.

Разработчикам в качестве образца можно посмотреть плагин схемы данных для Joomla в составе компонента или же плагин-образец JSON-схемы на GitHub.
Группа плагинов swjprojects. Для нужд компонента создана группа плагинов swjprojects. В частности, в этой группе находится плагин структуры данных Joomla расширений для сервера обновлений.Изменение языковых констант. Изменены некоторые языковые константы в панели администратора. Если вы делали переопределение констант - переопределите их снова.👩‍💻 Joomla 6. Внесены изменения для корректной установки и работы компонента на Joomla 6. Компонент успешно протестирован на Joomla 6-beta2.Минимальная версия Joomla - 5. Подняты минимальные системные требования: Joomla 5.0.0 и PHP 8.1.
- Страница расширения👉 Плагин-образец кастомной JSON-схемы данных для сервера обновлений на GitHub.- GitHub расширения- Документация на GitHub- Joomla Extensions Directory#joomla #расширения

Как триггерить события для плагинов на манер Joomla 5+?В Joomla 6 должны удалить метод...

Как триггерить события для плагинов на манер Joomla 5+?В Joomla 6 должны удалить метод...

👩‍💻 Как триггерить события для плагинов на манер Joomla 5+?В Joomla 6 должны удалить метод triggerEvent(), с помощью которого раньше вызывались события для плагинов. Теперь чтобы в своём коде вызвать событие для плагина и получить от него результаты нужно:- создать объект класса события- передать в него параметры

use Joomla\CMS\Event\AbstractEvent;use Joomla\CMS\Factory;use Joomla\CMS\Plugin\PluginHelper;// Грузим плагины нужных группPluginHelper::importPlugin('system');// Создаём объект события$event = AbstractEvent::create('onAfterInitUniverse', [    'subject' => $this,    'data'    => $data, // какие-то данные    'article' => $article, // ещё материал вдовесок    'product' => $product, // и товаров подвезли]);// Триггерим событиеFactory::getApplication()->getDispatcher()->dispatch(    $event->getName(), // Тут можно строку передать 'onAfterInitUniverse'    $event);// Получаем результаты// В случае с AbstractEvent это может быть не 'result',// а что-то ещё - куда сами отдадите данные.// 2-й аргумент - значение по умолчанию, // если не получены результаты$results = $event->getArgument('result', []);
Плюсы такого подхода - вам не нужно запоминать порядок аргументов и проверять их наличие. Если вы написали свой класс события, то в плагине можно получать аргументы с помощью методов $event->getArticle(), $event->getData(), $event->getProduct() и подобными - реализуете сами под свои нужды. Если такой класс события написали, то создаёте экземпляр своего класса события и укажите его явно в аргументе eventClass
use Joomla\Component\MyComponent\Administrator\Event\MyCoolEvent;$event = MyCoolEvent::create('onAfterInitUniverse', [    'subject'    => $this,    'eventClass' => MyCoolEvent::class, // ваш класс события    'data'       => $data, // какие-то данные    'article'    => $article, // ещё материал вдовесок    'product'    => $product, // и товаров подвезли]);
Ожидаемо, что класс вашего события будет расширять AbsractEvent или другие классы событий Joomla.🙁 Есть неприятный нюанс - нельзя просто так вызывать событие и ничего не передать в аргументы. Аргумент subject обязательный. Но если вы всё-таки не хотите туда ничего передавать - передайте туда пустой stdClass или объект Joomla\registry\Registry.
@joomlafeed#joomla #php #webdev

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

lukinalek

  • Осваиваюсь на форуме
  • 15
  • 0 / 0
  • Движение - это достижение!
Всем привет! *DRINK*
Ребята, помогите пожалуйста. У меня на сайте stanpoltan.ru  каждый материал должен отображаться в отдельном блоке. Первый материал располагается нормально, отдельно, а все остальные находятся во втором блоке. Как исправить? Нет мне счастья без Вашей помощи, выручайте.
« Последнее редактирование: 27.04.2010, 22:43:21 от lukinalek »
*

AlterEgo

  • Захожу иногда
  • 170
  • 71 / 5
Да вроде каждый материал в отдельном блоке. Возможно, вопрос состоял в том, почему первые два материала выводятся в рамке, а остальные без неё. То это из-за отсутствия класса .sticky у остальных статей. Т.е. первые две статьи выводятся в <div id="node-.." class="node sticky">, а остальные в <div id="node-.." class="node">. А в классе .sticky как раз и задается рамка вокруг материала.
Уточните вопрос.
*

lukinalek

  • Осваиваюсь на форуме
  • 15
  • 0 / 0
  • Движение - это достижение!
Спасибо за Ваше внимание, и за помощь + . Да, каждый материал обведён рамкой, только начиная с третьего материала и до конца, все находятся в рамке второго материала. Подскажите пжл, где и что надо править? Надо чтобы каждый материал был в отдельном блоке, и не находился в блоке второго материала.
*

AlterEgo

  • Захожу иногда
  • 170
  • 71 / 5
В общем, если нужно сделать, как показано на скриншоте:

То можно изменить стили. Закомментировать/удалить стили класса .sticky в style.css стр.710, и изменить класс .node стр.660 сл.образом:
Код
.node  {
background-color:#FFFFFF;
border:1px solid #E0E5FB;
margin-bottom:2em;
padding:1em;
}

Сайт-то вроде на Drupal'е работает или мне кажется?
« Последнее редактирование: 28.04.2010, 17:32:00 от AlterEgo »
*

lukinalek

  • Осваиваюсь на форуме
  • 15
  • 0 / 0
  • Движение - это достижение!
Вы не ту зону смотрите, у меня зона ru.  Вот сайт  http://www.stanpoltan.ru/  Посмотрите пожалуйста, что нужно исправить.
*

SmokerMan

  • Гуру
  • 5290
  • 720 / 26
Вы не ту зону смотрите, у меня зона ru.  Вот сайт  http://www.stanpoltan.ru/  Посмотрите пожалуйста, что нужно исправить.
Разбирайтесь с самими материалами смотрите их исходный код, скорее всего там где-то ошибка.
Да и самим шаблоном тоже нужно разбираться. Даже валидатор отказывается проверять вашу страницу :)
104 ошибки для главной многовато.
*

AlterEgo

  • Захожу иногда
  • 170
  • 71 / 5
Вы не ту зону смотрите, у меня зона ru.  Вот сайт  http://www.stanpoltan.ru/ 
Уупс...ну теперь понятно о чем речь. Возможно, что это ошибка в верстке шаблона главной страницы. Не там поставлен закрывающий </div>. Нужно посмотреть код файла default.php, который находится здесь: .../templates/stanpoltan/html/com_content/frontpage. Если нету папки html в шаблоне, то в .../components/com_content/views/frontpage/tmpl
*

lukinalek

  • Осваиваюсь на форуме
  • 15
  • 0 / 0
  • Движение - это достижение!
Разбирайтесь с самими материалами смотрите их исходный код, скорее всего там где-то ошибка.
Да и самим шаблоном тоже нужно разбираться. Даже валидатор отказывается проверять вашу страницу :)
104 ошибки для главной многовато.
Спасибо за наводку, я даже про валидаторы и не знал. А такое колличество ошибок, просто приводит меня в ужас, шаблон делал не сам, т.к. я ламер и ничего в этом не понимаю, мне его подарили. А валидатор не может проверить из-за этого:
Sorry, I am unable to validate this document because on line 67 it contained one or more bytes that I cannot interpret as utf-8 (in other words, the bytes found are not valid values in the specified Character Encoding). Please check both the content of the file and the character encoding indication.
The error was: utf8 "\xD0" does not map to Unicode

Вы мне не подскажите что это и как исправить, что бы валидатор мог проверять сайт, что то с кодировкой вроде в строке 67, а в каком файле и что исправить, я не знаю.
*

lukinalek

  • Осваиваюсь на форуме
  • 15
  • 0 / 0
  • Движение - это достижение!
Возможно, что это ошибка в верстке шаблона главной страницы. Не там поставлен закрывающий </div>. Нужно посмотреть код файла default.php, который находится здесь: .../templates/stanpoltan/html/com_content/frontpage. Если нету папки html в шаблоне, то в .../components/com_content/views/frontpage/tmpl
Спасибо Вам еще раз. Вечером после работы гляну, только боюсь что одним просмотром у меня и закончится. Если не трудно, ткните меня носом, я код файла скопирую сюда.
*

lukinalek

  • Осваиваюсь на форуме
  • 15
  • 0 / 0
  • Движение - это достижение!
Вот код из файла default.php взял от сюда: .../templates/stanpoltan/html/com_content/frontpage Посмотрите пожалуйста что не так и как надо сделать?


<?php
defined('_JEXEC') or die('Restricted access'); // no direct access
require_once dirname(__FILE__). str_replace('/', DIRECTORY_SEPARATOR, '/../../../functions.php');
?>
<?php echo stanpoltanxPost(stanpoltanxPageTitle($this), null); ?>
<?php if ($this->params->def('num_leading_articles', 1)) : ?>
<?php for ($i = $this->pagination->limitstart; $i < ($this->pagination->limitstart + $this->params->get('num_leading_articles')); $i++) : ?>
<?php if ($i >= $this->total) : break; endif; ?>
<?php
   $this->item =& $this->getItem($i, $this->params);
   echo $this->loadTemplate('item');
?>
<?php endfor; ?>
<?php else : $i = $this->pagination->limitstart; endif; ?>

<?php
$startIntroArticles = $this->pagination->limitstart + $this->params->get('num_leading_articles');
$numIntroArticles = $startIntroArticles + $this->params->get('num_intro_articles', 4);
if (($numIntroArticles != $startIntroArticles) && ($i < $this->total)) : ?>
      <table width="100%" cellpadding="0" cellspacing="0">
      <tr>
      <?php
         $divider = '';
         if ($this->params->get('multi_column_order')) : // order across as before
         for ($z = 0; $z < $this->params->def('num_columns', 2); $z ++) :
            if ($z > 0) : $divider = " column_separator"; endif; ?>
            <?php
               $rows = (int) ($this->params->get('num_intro_articles', 4) / $this->params->get('num_columns'));
               $cols = ($this->params->get('num_intro_articles', 4) % $this->params->get('num_columns'));
            ?>
            <td valign="top" width="<?php echo intval(100 / $this->params->get('num_columns'))?>%" class="article_column<?php echo $divider ?>">
            <?php
            $loop = (($z < $cols)?1:0) + $rows;

            for ($y = 0; $y < $loop; $y ++) :
               $target = $i + ($y * $this->params->get('num_columns')) + $z;
               if ($target < $this->total && $target < ($numIntroArticles)) :
                  $this->item =& $this->getItem($target, $this->params);
                  echo $this->loadTemplate('item');
               endif;
            endfor;
                  ?></td>
                  <?php endfor;
                  $i = $i + $this->params->get('num_intro_articles') ;
         else : // otherwise, order down columns, like old category blog
            for ($z = 0; $z < $this->params->get('num_columns'); $z ++) :
               if ($z > 0) : $divider = " column_separator"; endif; ?>
               <td valign="top" width="<?php echo intval(100 / $this->params->get('num_columns'))?>%" class="article_column<?php echo $divider ?>">
               <?php for ($y = 0; $y < ($this->params->get('num_intro_articles') / $this->params->get('num_columns')); $y ++) :
               if ($i < $this->total && $i < ($numIntroArticles)) :
                  $this->item =& $this->getItem($i, $this->params);
                  echo $this->loadTemplate('item');
                  $i ++;
               endif;
            endfor; ?>
            </td>
      <?php endfor;
      endif;?>
      </tr>
      </table>
<?php endif; ?>
<?php if ($this->params->def('num_links', 4) && ($i < $this->total)) : ?>
<?php $this->links = array_splice($this->items, $i - $this->pagination->limitstart); ?>
<?php if (count($this->links) > 0) : ?>
<?php ob_start(); ?>
<div class="blog_more<?php echo $this->params->get('pageclass_sfx')?>">
<?php echo $this->loadTemplate('links'); ?>
</div>
<?php echo stanpoltanxPost(null, ob_get_clean()); ?>
<?php endif; ?>
<?php endif; ?>
<?php if ($this->params->def('show_pagination', 2) == 1  || ($this->params->get('show_pagination') == 2 && $this->pagination->get('pages.total') > 1)) : ?>
<?php ob_start(); ?>
<div id="navigation">
   <p><?php echo $this->pagination->getPagesLinks(); ?></p>
<?php if ($this->params->def('show_pagination_results', 1)) : ?>
   <p><?php echo $this->pagination->getPagesCounter(); ?></p>
<?php endif; ?>
</div>
<?php echo stanpoltanxPost(null, ob_get_clean()); ?>
<?php endif; ?>
*

SmokerMan

  • Гуру
  • 5290
  • 720 / 26
Вот код из файла default.php взял от сюда: .../templates/stanpoltan/html/com_content/frontpage Посмотрите пожалуйста что не так и как надо сделать?
да причем здесь этот файл?
я же ясно написал
Разбирайтесь с самими материалами смотрите их исходный код, скорее всего там где-то ошибка.
Скорее всего в каком-то, а может и в многих материалах, присутствуют незакрытые теги. Этого вполне достаточно что бы развалить шаблон.
*

AlterEgo

  • Захожу иногда
  • 170
  • 71 / 5
Предположу, что проблема возникает с материалом, выводимым как "Leading".
Попробуйте сделать следующее. Зайдите в административную панель, в меню выберите пункт "Все меню" -> "Main Menu" -> "Главная". В настройках главной страницы установите "Параметры -Основные" -> "Во всю ширину : 0", "Вступление : 7(сколько было плюс один)".
Если все станет нормально, то вероятнее причина - ошибка в коде шаблона, если нет, то прав SmokerMan.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Как создать новый блок в шаблоне?

Автор moov

Ответов: 7
Просмотров: 7757
Последний ответ 17.12.2018, 14:08:12
от arma
Поменять цвет блоков в шаблоне

Автор nuon

Ответов: 7
Просмотров: 4711
Последний ответ 10.01.2016, 23:11:34
от nuon
Ребят - В шаблоне Default

Автор Djaga

Ответов: 4
Просмотров: 2181
Последний ответ 10.12.2015, 08:01:47
от Djaga
Замена фона в шаблоне Joomla

Автор Jons$

Ответов: 7
Просмотров: 11795
Последний ответ 12.10.2015, 15:49:09
от darkghost
Смена шрифтов в шаблоне Joomla 2.5

Автор GulliWeR

Ответов: 6
Просмотров: 10188
Последний ответ 29.09.2015, 13:29:19
от jetjetjet