Новости Joomla

Вышли релизы безопасности Joomla 6.1.3 и Joomla 5.4.8

Релиз безопасности Joomla 6.1.3 и Joomla 5.4.8

Проект Joomla! рад сообщить о выходе Joomla 6.1.3 и Joomla 5.4.8. Это релизы безопасности и исправления ошибок для серий 5.x и 6.x.

👩‍💻 WT Otpravkapochtaru - библиотека сервиса Отправка Почты России для Joomla-разработчиков.

👩‍💻 WT Otpravkapochtaru - библиотека сервиса Отправка Почты России для Joomla-разработчиков.

Joomla 5+ пакет для интеграции с API Почты России: нормализация данных, расчёт доставки, создание отправлений, партии, документы, возвраты, поиск отделений, справочники и SOAP-отслеживание.

v.3.0.0. Что нового?
Это дальнейшее развитие ранее закрытой Joomla-библиотеки для работы с API сервиса Отправка (для бизнеса) Почты России. Поэтому версия не 1.0.0, а 3.0.0.

Сейчас эта библиотека ушла от собственных реализаций и стала Joomla-обёрткой известного PHP SDK от Lapay Group.

Возможности библиотеки.
- получение настроек аккаунта, точек сдачи и текущего остатка запросов к API;
- нормализация адресов, ФИО и телефонов перед созданием отправления;
- расчёт тарифа и срока доставки;
- создание, поиск, изменение, удаление и возврат заказов в состояние «Новые»;
- проверка надёжности получателя;
- создание партий, просмотр партий и заказов внутри партии;
- генерация пакета печатных документов и формы Ф103;
- создание, изменение и удаление возвратных отправлений;
- поиск отделений по индексу, адресу и координатам, получение сервисов отделения;
- локальный список стран;
- SOAP-отслеживание операций по РПО и работа с билетами пакетного трекинга.

👩‍💻 Joomla-возможности.
В пакете библиотеки WT Otpravkapochtaru есть поля Joomla Form для расширений. Они позволяют работать в интерфейсе Joomla с некоторыми типами данных, получаемых по API из вашего личного кабинета в ЛК Почты России для бизнеса.
На данный момент в библиотеке доступны 3 поля списков, которые отображают доступные в аккаунте ОПС, типы и категории отправлений.
Поддерживаются зависимые списки: значение одного поля обновляется при изменении другого.

Системные требования.
Системные требования в основном связаны с системными требованиями апстрима библиотеки - LapayGroup PHP SDK.
- Joomla 5+
- PHP 8.3+
- Расширения PHP:
-- ext-mbstring
-- ext-simplexml
-- ext-soap (опционально, для трекинга)
-- ext-zip

Ссылки:
- Страница расширения
- GitHub библиотеки и документация

@joomlafeed

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

robotwerder

  • Захожу иногда
  • 248
  • 6 / 1
Суть в том, что я хочу вставить модуль "похожие материалы" ВЫШЕ комментариев.

как на скрине.

Я не программер, но как можно сделать это?
как вставить код в файл модуля комментариев, который находится сразу под материалом?

Использую шаблон "purity_iii".
*

flyingspook

  • Живу я здесь
  • 3590
  • 247 / 9
Re: Вставить код модуля в код Joomla
« Ответ #1 : 18.04.2016, 18:23:57 »
Зачем так сложно заморачиваться, код модуля в код другого, нужно проще жить, позицию на вывод модуля сделать в нужном месте.
*

robotwerder

  • Захожу иногда
  • 248
  • 6 / 1
Re: Вставить код модуля в код Joomla
« Ответ #2 : 18.04.2016, 19:25:00 »
Зачем так сложно заморачиваться, код модуля в код другого, нужно проще жить, позицию на вывод модуля сделать в нужном месте.
дак сейчас так и сделано.. но вывод модуля происходит ниже плагина комментариев..а мне надо выше..сразу под материалом
*

flyingspook

  • Живу я здесь
  • 3590
  • 247 / 9
Re: Вставить код модуля в код Joomla
« Ответ #3 : 18.04.2016, 21:09:56 »
Надо просто в шаблон материала вставить позицию модуля.
*

robotwerder

  • Захожу иногда
  • 248
  • 6 / 1
Re: Вставить код модуля в код Joomla
« Ответ #4 : 18.04.2016, 22:15:43 »
Надо просто в шаблон материала вставить позицию модуля.
если вы о том, что лежит
тут
/nashi-pozdravleniya.ru/www/components/com_content/views/article/tmpl

в фале default.pfp то каким образом туда вставить код позиции модуля я не знаю..

а если вы о файле index.php шаблона то я пробовал.. резуольтат описан выше.. похожие матеиалы выводятся ниже плагина соц каментов.
*

SmokerMan

  • Гуру
  • 5290
  • 720 / 26
Re: Вставить код модуля в код Joomla
« Ответ #5 : 19.04.2016, 01:26:35 »
сначала надо определиться по какому событию работает плагин onContentPrepare или onContentAfterDisplay
может там есть настройка какая-то в нем
в 2-х словах его надо переделать на onContentAfterDisplay и тогда модуль надо вставлять до
Код
<?php echo $this->item->event->afterDisplayContent; ?>
или как вариант модуль вставить в код плагина)
*

robotwerder

  • Захожу иногда
  • 248
  • 6 / 1
Re: Вставить код модуля в код Joomla
« Ответ #6 : 19.04.2016, 07:47:33 »
сначала надо определиться по какому событию работает плагин onContentPrepare или onContentAfterDisplay
может там есть настройка какая-то в нем
в 2-х словах его надо переделать на onContentAfterDisplay и тогда модуль надо вставлять до
Код
<?php echo $this->item->event->afterDisplayContent; ?>
или как вариант модуль вставить в код плагина)
про события для меня сложно..
а вот про вставку модуля в код плагина прошу поподробнее ..

его код

Код
<?php
/**
 * JLcomments
 *
 * @version 2.6
 * @author Kunitsyn Vadim (vadim@joomline.ru), Artem Jukov (artem@joomline.ru)
 * @copyright (C) 2011 by Kunitsyn Vadim(http://www.joomline.ru)
 * @license GNU/GPL: http://www.gnu.org/copyleft/gpl.html
 **/

// no direct access
defined('_JEXEC') or die;




jimport('joomla.plugin.plugin');

class plgContentJlcomments extends JPlugin
{

public function onContentPrepare($context, &$article, &$params, $page = 0){
if($context == 'com_content.article'){
if (strpos($article->text, '{jlcomments-off}')!== false) {
$article->text = str_replace("{jlcomments-off}","",$article->text);
return true;
}

if (strpos($article->text, '{jlcomments}') === false && !$this->params->def('autoAdd')) {
return true;
}

$exceptcat = is_array($this->params->def('categories'))? $this->params->def('categories') : array($this->params->def('categories'));
if (!in_array($article->catid,$exceptcat)) {
$view = JRequest::getCmd('view');
if ($view == 'article') {
$doc = JFactory::getDocument();
$uri = JURI::getInstance();
$base = $uri->toString(array('scheme', 'host', 'port'));
$article_url = $base.JRoute::_(ContentHelperRoute::getArticleRoute($article->slug, $article->catid, $article->catslug));


$apiId = $this->params->def('apiId');
$widthvk = $this->params->def('widthvk');
$widthfb = $this->params->def('widthfb');
$widthgoogle = $this->params->def('widthgoogle');
$comLimit = $this->params->def('comLimit');
$attach = $this->params->def('attach');
$autoPublish = $this->params->def('autoPublish');
$norealtime = $this->params->def('norealtime');
$fbId = $this->params->def('fbId');
$fbadmin = $this->params->def('fbadmin');
$fb_lang = $this->params->def('fb_lang');
$typeviewerjq = $this->params->def('typeviewerjq');
$typeviewerbs = $this->params->def('typeviewerbs');
$typeviewernojq = $this->params->def('typeviewernojq');
$typeviewercss = $this->params->def('typeviewercss');
$link = $this->params->def('link');
$colorscheme = $this->params->def('colorscheme');
$order_by_fb = $this->params->def('orderbyfb');
$linknone = '';
$lang = JFactory::getLanguage();
$lang->load('plg_content_jlcomments', JPATH_ADMINISTRATOR);
$jlcomments_comments = JText::_('PLG_JLCOMMENTS_COMMENTS');
$jlcomments_vk = JText::_('PLG_JLCOMMENTS_VK');
$jlcomments_fb = JText::_('PLG_JLCOMMENTS_FB');
$jlcomments_google = JText::_('PLG_JLCOMMENTS_GOOGLE');

$script = "VK.init({apiId: $apiId, onlyWidgets: true});";
$doc->addCustomTag('<meta property="fb:admins" content="'.$fbadmin.'"/>');
$doc->addCustomTag('<meta property="fb:app_id" content="'.$fbId.'"/>');
$doc->addScript("//vk.com/js/api/openapi.js?95");
$doc->addCustomTag('<script src="https://apis.google.com/js/plusone.js" type="text/javascript">{lang: "'.$fb_lang.'"}</script>');
$doc->addScriptDeclaration($script);
$pagehash = $article->id;
$orders = explode(",",$this->params->def('orders'));
if (($this->params->def('googleid')!='')&&($this->params->def('googleplus'))){
$doc->addCustomTag('<link rel="author" href="https://plus.google.com/'. $this->params->def('googleid').'/">');
}
else {}

if ($link==0){
$linknone = 'display:none;';
}
else {}

If ($typeviewerjq==1) {
$doc->addCustomTag('<script src="http://yandex.st/jquery/1.9.1/jquery.min.js"></script>');
}
If ($typeviewercss==1) {
$doc->addStyleSheet("/plugins/content/jlcomments/css/jlcomtabs.css");
}
If ($typeviewerbs==1) {
$doc->addCustomTag('<script src="http://yandex.st/bootstrap/2.3.0/js/bootstrap.min.js"></script>');
}
If ($typeviewernojq==1) {
$doc->addCustomTag ('<script type="text/javascript">var jqjlcomm = jQuery.noConflict();</script>');
}
else {}

                $comments = JPATH_SITE . '/components/com_jcomments/jcomments.php';
                  if (file_exists($comments)) {
                    require_once($comments);
                    $options['object_id'] = $pagehash;
                    $options['object_group'] = 'com_content';
                    $options['published'] = 1;
                    $count = JCommentsModel::getCommentsCount($options);
                  }

$scriptPage = <<<HTML

<div style="border-top: 1px solid #eeeeee; padding-top:10px">
<b>Поделиться:</b><p> <script type="text/javascript" src="//yastatic.net/es5-shims/0.0.2/es5-shims.min.js" charset="utf-8"></script>
<script type="text/javascript" src="//yastatic.net/share2/share.js" charset="utf-8"></script>
<div class="ya-share2" data-services="vkontakte,facebook,odnoklassniki,moimir,gplus,twitter,viber,whatsapp" data-counter=""></div>
<div>




<br clear="all"><div id="jlcomments_container"><ul class="nav nav-tabs" id="plgjlcomments1">
HTML;



foreach ($orders as $order) {
switch($order) {
case 1: if ($this->params->def('showjcomments')) { $scriptPage .= <<<HTML
<li style="list-style-type: none;" class="active"><a href="#jcommentscomm" data-toggle="tab"><i class="jlico-comments"></i> $jlcomments_comments ($count)</a></li>
HTML;
} else {$scriptPage .='';$showjcomments='-1';} break;
case 2: if ($this->params->def('showvkontakte')) { $scriptPage .= <<<HTML
<script type="text/javascript">
jQuery(document).ready(function(){
jQuery.ajax({
url: "https://api.vk.com/method/widgets.getComments.json?widget_api_id=$apiId&page_id=$pagehash",
dataType: 'jsonp',
success: function(data){
jQuery('#vk_count').text(data.response.count);
},
error: function(data){
console.log(data);
}
});
});
</script>
<li style="list-style-type: none;"><a href="#vkcomm" data-toggle="tab"><i class="jlico-vk"></i> $jlcomments_vk (<span id="vk_count"></span>)</a></li>
HTML;
} else {$scriptPage .='';} break;
case 3: if ($this->params->def('googleplus')) {
$width_ = $widthgoogle.'px';
$scriptPage .= <<<HTML
<style>
#googlecomm * {width:$width_ !important;min-height:600px !important;}
</style>
<li style="list-style-type: none;"><a href="#googlecomm" data-toggle="tab"><i class="jlico-google"></i> $jlcomments_google</a></li>
HTML;
} else {$scriptPage .='';} break;
case 4: if ($this->params->def('showfacebook')) { $scriptPage .= <<<HTML
<style>
.fb-comments,.fb-comments span,.fb-comments iframe {min-height: 300px!important; width:100%!important;}
.fb_hide_iframes iframe {left:0px !important;}
</style>

<li style="list-style-type: none;"><a href="#fbcomm" data-toggle="tab"><div><i class="jlico-facebook"></i> $jlcomments_fb (<fb:comments-count $article_url/> </fb:comments-count>)</div></a></li>
HTML;
} else {$scriptPage .='';} break;
}
}

$scriptPage .= <<<HTML
</ul>
<div class="tab-content">
HTML;
foreach ($orders as $order) {
switch($order) {
case 1: if ($this->params->def('showjcomments')) { $scriptPage .= <<<HTML
<div class="tab-pane active" id="jcommentscomm">
{jcomments}
</div>
HTML;
} else {$scriptPage .='';$showjcomments='-1';} break;
case 2: if ($this->params->def('showvkontakte')) { $scriptPage .= <<<HTML
<div class="tab-pane" id="vkcomm">
<div id='jlcomments'></div>
<script type='text/javascript'>
VK.Widgets.Comments('jlcomments', {limit: $comLimit, width: '$widthvk', attach: '$attach', autoPublish: $autoPublish, norealtime: $norealtime},$pagehash);
</script>
</div>

HTML;
} else {$scriptPage .='';} break;
case 3: if ($this->params->def('googleplus')) {

$scriptPage .= <<<HTML



<div class="tab-pane" id="googlecomm">

<div class="g-comments"
data-href="$article_url"
data-width="$widthgoogle"
data-first_party_property="BLOGGER"
data-view_type="FILTERED_POSTMOD">
</div>
</div>
HTML;
} else {$scriptPage .='';} break;
case 4: if ($this->params->def('showfacebook')) { $scriptPage .= <<<HTML
                <div class="tab-pane" id="fbcomm">
<script>(function(d, s, id) {
var js, fjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id)) return;
js = d.createElement(s); js.id = id;
js.src = "//connect.facebook.net/$fb_lang/all.js#xfbml=1&version=v2.0";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));</script>
<div class="fb-comments" data-href="$article_url" data-num-posts="$comLimit" data-width="$widthfb" data-colorscheme="$colorscheme" data-order-by="$order_by_fb"></div>
</div>


HTML;
} else {$scriptPage .='';} break;
}
}
$scriptPage .= <<<HTML
</div>
</div>
<script type="text/javascript">
jQuery(document).ready(function(){
jQuery('#plgjlcomments1 a:first').tab('show');
});
</script>
<div style="text-align: right; $linknone;">
<a style="text-decoration:none; color: #c0c0c0; font-family: arial,helvetica,sans-serif; font-size: 5pt; " target="_blank" href="http://www.38i.ru">www.38i.ru</a>
</div>
HTML;

if ($this->params->def('autoAdd') == 1) {
$article->text .= $scriptPage;
} else {
$article->text = str_replace("{jlcomments}",$scriptPage,$article->text);
}

}
} else {
$article->text = str_replace("{jlcomments}","",$article->text);
}

}
}
}
*

flyingspook

  • Живу я здесь
  • 3590
  • 247 / 9
Re: Вставить код модуля в код Joomla
« Ответ #7 : 19.04.2016, 10:57:47 »

/nashi-pozdravleniya.ru/www/components/com_content/views/article/tmpl
да, вставить туда позицию модуля если вывод выполняется через него

в плагин, перед
Код: php
$scriptPage = <<<HTML
<div style="border-top: 1px solid #eeeeee; padding-top:10px">
вставьте позицию модуля
*

robotwerder

  • Захожу иногда
  • 248
  • 6 / 1
Re: Вставить код модуля в код Joomla
« Ответ #8 : 19.04.2016, 11:50:33 »
Parse error: syntax error, unexpected '<' in /home/u30016/nashi-pozdravleniya.ru/www/plugins/content/jlcomments/jlcomments.php on line 111

такая ошибка появляется
*

SmokerMan

  • Гуру
  • 5290
  • 720 / 26
Re: Вставить код модуля в код Joomla
« Ответ #9 : 19.04.2016, 12:03:54 »
Цитировать
$document   =  JFactory::getDocument();
$renderer   = $document->loadRenderer('modules');
$options    = array('style' => 'xhtml');
$position   = 'позиция модуля';
$scriptPage = $renderer->render($position, $options, null);


$scriptPage .= <<<HTML

<div style="border-top: 1px solid #eeeeee; padding-top:10px">   
....
*

shur

  • Захожу иногда
  • 238
  • 49 / 1
Re: Вставить код модуля в код Joomla
« Ответ #10 : 19.04.2016, 12:38:06 »
Цитировать
или как вариант модуль вставить в код плагина)
Да уже есть несколько готовых плагинов которые добавляют позиции с модулями на стр. материала.

Вот к примеру плагин который может добавить до 3 позиций для вставки модулей на страницу с статьей.
Причем, позицию можно вывести после заголовка, после текста материала и даже внутри текста материала если нужно.
http://extensions.joomla.org/extensions/extension/style-a-design/modules-management/raxo-load-module-position


Цитировать
Суть в том, что я хочу вставить модуль "похожие материалы" ВЫШЕ комментариев.
...
Я не программер, но как можно сделать это?
Судя по всему, вам бы подошел этот плагин, в нем вам нужно использовать позицию "after-content" которая как раз выводится после текста, но перед комментариями.
*

robotwerder

  • Захожу иногда
  • 248
  • 6 / 1
Re: Вставить код модуля в код Joomla
« Ответ #11 : 19.04.2016, 16:30:27 »
Да уже есть несколько готовых плагинов которые добавляют позиции с модулями на стр. материала.

Вот к примеру плагин который может добавить до 3 позиций для вставки модулей на страницу с статьей.
Причем, позицию можно вывести после заголовка, после текста материала и даже внутри текста материала если нужно.
http://extensions.joomla.org/extensions/extension/style-a-design/modules-management/raxo-load-module-position

Судя по всему, вам бы подошел этот плагин, в нем вам нужно использовать позицию "after-content" которая как раз выводится после текста, но перед комментариями.

это то что мне нужно конечно, но он платный.. нафиг надо за 18 баксов его покупать
*

robotwerder

  • Захожу иногда
  • 248
  • 6 / 1
Re: Вставить код модуля в код Joomla
« Ответ #12 : 19.04.2016, 16:37:14 »
$document   =  JFactory::getDocument();
$renderer   = $document->loadRenderer('modules');
$options    = array('style' => 'xhtml');
$position   = 'позиция модуля';
$scriptPage = $renderer->render($position, $options, null);

$scriptPage .= <<<HTML

<div style="border-top: 1px solid #eeeeee; padding-top:10px">   
....

Это тоже не проконало ((

Код
               $comments = JPATH_SITE . '/components/com_jcomments/jcomments.php';
                  if (file_exists($comments)) {
                    require_once($comments);
                    $options['object_id'] = $pagehash;
                    $options['object_group'] = 'com_content';
                    $options['published'] = 1;
                    $count = JCommentsModel::getCommentsCount($options);
                  }

$document   =  JFactory::getDocument();
$renderer   = $document->loadRenderer('modules');
$options    = array('style' => 'xhtml');
$position   = 'position-down';
$scriptPage = $renderer->render($position, $options, null);
$scriptPage = <<<HTML

<div style="border-top: 1px solid #eeeeee; padding-top:10px">
<b>Поделиться:</b><p> <script type="text/javascript" src="//yastatic.net/es5-shims/0.0.2/es5-shims.min.js" charset="utf-8"></script>
<script type="text/javascript" src="//yastatic.net/share2/share.js" charset="utf-8"></script>
<div class="ya-share2" data-services="vkontakte,facebook,odnoklassniki,moimir,gplus,twitter,viber,whatsapp" data-counter=""></div>
<div>


*

flyingspook

  • Живу я здесь
  • 3590
  • 247 / 9
Re: Вставить код модуля в код Joomla
« Ответ #13 : 19.04.2016, 19:30:27 »
Это тоже не проконало ((
Что именно не проканало?
ну и версия движка какая?
*

SmokerMan

  • Гуру
  • 5290
  • 720 / 26
Re: Вставить код модуля в код Joomla
« Ответ #14 : 19.04.2016, 21:12:42 »
Это тоже не проконало ((
естественно не проканало, потому что надо внимательно смотреть на то что пишут
*

robotwerder

  • Захожу иногда
  • 248
  • 6 / 1
Re: Вставить код модуля в код Joomla
« Ответ #15 : 20.04.2016, 21:10:13 »
естественно не проканало, потому что надо внимательно смотреть на то что пишут

Грешу невнимательностью. Но вроде бы все правильно сделал, лишь стиль вывода подредактировал, исправил на "T3Xhtml"
Укажите, что сделал не так, ибо модуль внизу матриала по прежнему не выводится(
*

flyingspook

  • Живу я здесь
  • 3590
  • 247 / 9
Re: Вставить код модуля в код Joomla
« Ответ #16 : 20.04.2016, 22:06:22 »
Читать внимательно надо, Горыныч написал
сначала надо определиться по какому событию работает плагин onContentPrepare или onContentAfterDisplay
может там есть настройка какая-то в нем
в 2-х словах его надо переделать на onContentAfterDisplay и тогда модуль надо вставлять до
Код: php
<?php echo $this->item->event->afterDisplayContent; ?>
или как вариант модуль вставить в код плагина)
у вас в плагине
Код: php
public function onContentPrepare($context, &$article, &$params, $page = 0){
его надо менять
*

robotwerder

  • Захожу иногда
  • 248
  • 6 / 1
Re: Вставить код модуля в код Joomla
« Ответ #17 : 20.04.2016, 23:00:00 »
Читать внимательно надо, Горыныч написалу вас в плагине
Код: php
public function onContentPrepare($context, &$article, &$params, $page = 0){
его надо менять

я конечно извиняюсь, долго пытался вникнуть в ваше повествование)).но я н специалист)... фразу
Цитировать
его надо менять
не понял.. кого его? не плагин же

Понял что необходимо изменить событие на onContentAfterDisplay.
Поэтому тупо заменил

   public function onContentPrepare($context, &$article, &$params, $page = 0){

на onContentAfterDisplay ($context, &$article, &$params, $page = 0){

что естественное результата не принесло).

*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Re: Вставить код модуля в код Joomla
« Ответ #18 : 20.04.2016, 23:24:09 »
deleted
« Последнее редактирование: 21.04.2016, 12:47:42 от robert »
Не будь паразитом, сделай что-нибудь самостоятельно!
*

SmokerMan

  • Гуру
  • 5290
  • 720 / 26
Re: Вставить код модуля в код Joomla
« Ответ #19 : 21.04.2016, 01:19:39 »
Точка
ну вот и внимательные нашлись  ^-^
*

flyingspook

  • Живу я здесь
  • 3590
  • 247 / 9
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Про веб-шелл на сайтах. Как наладить сайты на Joomla CMS (версии 3)?

Автор admi5575

Ответов: 3
Просмотров: 735
Последний ответ 12.09.2026, 13:37:17
от wishlight
Проблема с редактором медиа-файлов в Joomla 3.10.11

Автор pditsmdp

Ответов: 0
Просмотров: 324
Последний ответ 24.08.2026, 12:48:17
от pditsmdp
Как сделать всплывающий баннер на Joomla 3.6?

Автор sergspb

Ответов: 1
Просмотров: 1343
Последний ответ 28.06.2026, 17:40:37
от sivers
Ошибка Missing field in database: Joomla\CMS\Table\Extension &#160; extension_id

Автор Ragivort

Ответов: 1
Просмотров: 6922
Последний ответ 25.12.2025, 21:10:01
от fbr
как из Стиль модуля - none, убрать custom

Автор all_zer

Ответов: 3
Просмотров: 4142
Последний ответ 15.11.2025, 16:20:01
от all_zer