Новости Joomla

👩‍💻 Вышел Quantum Manager 3.3.0 - медиа менеджер для Joomla.

👩‍💻 Вышел Quantum Manager 3.3.0 - медиа менеджер для Joomla.

Популярный файловый менеджер для Joomla от отечественных разработчиков.

v.3.3.0. Что нового?
- Joomla 6. Компонент полностью совместим с Joomla 6, плагин обратной совместимости не требуется.
- Рефакторинг. Полностью удалён устаревший код, оставшийся в наследство от версий для Joomla 3.
- Новые настройки для SVG. Новые параметры фильтрации SVG-файлов.
- Улучшена безопасная функция предварительного просмотра SVG-файлов. Благодаря новым механизмам фильтрации восстановлена ​​возможность безопасного предварительного просмотра SVG-изображений.
- Исправления ошибок. Исправлены ошибки с данными EXIF ​​и обновлена ​​библиотека EXIF.

Читать новость
Скачать расширение

Также обновление получил плагин пользовательского поля Radicalmultifield для совместимости с новым Quantum Manager.

Репозиторий GitHub
Релиз на GitHub

@joomlafeed

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

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
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Ошибка Missing field in database: Joomla\CMS\Table\Extension &#160; extension_id

Автор Ragivort

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

Автор all_zer

Ответов: 3
Просмотров: 1538
Последний ответ 15.11.2025, 16:20:01
от all_zer
Joomla 3 не пускает в админку (просто перезагружается страница) (гуглил, нашёл решение, не помогло)

Автор lifelover2b

Ответов: 11
Просмотров: 6892
Последний ответ 05.06.2025, 04:48:29
от andrey222
По поводу сессий Joomla 3

Автор azm1n

Ответов: 0
Просмотров: 2869
Последний ответ 25.05.2025, 09:26:17
от azm1n
Стоит ли ставить плагин rel="canonical" на Joomla 3

Автор azm1n

Ответов: 2
Просмотров: 3370
Последний ответ 09.05.2025, 12:39:18
от azm1n