Новости Joomla

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

kaprikorn

  • Осваиваюсь на форуме
  • 39
  • 4 / 0
  • www.cleverscript.ru
Привет Джумляне, хочу попросить у вас совет по ходу разработки плагина (Joomla 1.5x) для добавления дополнительной иконки в статьях (компонент com_content) - этот плагин вставляет еще одну иконку с помощью mootools в DOM структуру страницы с статьей (рядом с иконками PDF E-mail Edit).

Суть проблемы:

При нажатии на любую из этих иконок открывается Pop_up окно в который вставляется ссылка, по которой в это окно загружается содержимое страницы.
Покапавшись в компоненте com_content в папке components\com_content\helpers\ я обнаружил файл icon.php в котором содержится класс JHTMLIcon формирующий три стандартные иконки и ссылку для них, вот так выглядит метод (функция) формирующая иконку PDF:

Код: php
function pdf($article, $params, $access, $attribs = array())
{
$url  = 'index.php?view=article';
$url .=  @$article->catslug ? '&catid='.$article->catslug : '';
$url .= '&id='.$article->slug.'&format=pdf';

$status = 'status=no,toolbar=no,scrollbars=yes,titlebar=no,menubar=no,resizable=yes,width=640,height=480,directories=no,location=no';

// checks template image directory for image, if non found default are loaded
if ($params->get('show_icons')) {
$text = JHTML::_('image.site', 'pdf_button.png', '/images/M_images/', NULL, NULL, JText::_('PDF'));
} else {
$text = JText::_('PDF').' ';
}

$attribs['title'] = JText::_( 'PDF' );
$attribs['onclick'] = "window.open(this.href,'win2','".$status."'); return false;";
$attribs['rel']     = 'nofollow';

return JHTML::_('link', JRoute::_($url), $text, $attribs);
}

По этой же аналогии я пытаюсь сформировать свой класс в плагине который будет также формировать ссылку с id статьи (это главное что мне нужно), а затем эту ссылку я вставляю в открывающееся Pop_up окно:

Вот как я пишу:

Код: php
jimport('joomla.plugin.plugin');

$host_name = $_SERVER['SERVER_NAME'];//We receive a server name

class plgContentPdf2emailicon extends JPlugin
{
    function onPrepareContent(&$article, &$params, $limitstart){
    global $host_name;//Obyavlaem peremenuyu kak globalnuyu
    //formiruem ssulku
    $url  = 'http://'.$host_name.'/index.php?option=com_pdf2email&view=pdf2email&id='.$article->slug.'&tmpl=component';
    //vozvraschaem resultat
    return ('url');

    }
}
    $class = new plgContentPdf2emailicon();
    $func = 'onPrepareContent';
    $link = $class->$func;
?>

<script type="text/javascript">
window.addEvent('domready', function() {

        var LINK = new Element('a', {
                'class' : 'My_link',
                'rel' : 'nofollow',
                'href' : '#',
                'events' : {
                    'click': function(){
                        window.open('<?php echo $link; ?>','win2','width=435,height=480,menubar=yes,resizable=yes'); return false;
                     }
                 }
         });

Тоесть что я здеь делаю... Я создаю подкласс plgContentPdf2emailicon класса JPlugin в котором создаю слушателя (функию) которая получает параметры (&$article, &$params, $limitstart) первый из которых я использую для получения id статьи, также как и в приведенном выше примере (icon.php) - &id='.$article->slug.

Затем делаю вызов функции через обрашение к классу и заношу результат в переменную $link, которую затем вывожу через echo как ссылку в Pop_up окне:

Код: JavaScript
'events' : {
                    'click': function(){
                        window.open('<?php echo $link; ?>','win2','width=435,height=480,menubar=yes,resizable=yes'); return false;
                     }
                 }

В чем проблема: когда плагин установлен и опубликован, выводится сообщение ссылающееся на ошибку в файле с классом JPlugin, с тем что нехватает какогото передаваемого аргумента для функции конструктора.
Помогите разобратся в этом непростом деле зарание пасибо *DRINK*

P.S Текст ошибки:

Цитировать
Warning: Missing argument 1 for JPlugin::__construct(), called in /home/u191499/joomla.ru/www/plugins/content/icon_trigger.php on line 19 and defined in /home/u191499/joomla.ru/www/libraries/joomla/plugin/plugin.php on line 75

Fatal error: Call to a member function attach() on a non-object in /home/u191499/joomla.ru/www/libraries/joomla/base/observer.php on line 42
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Эффект добавления в корзину

Автор Sanyo

Ответов: 114
Просмотров: 39842
Последний ответ 08.11.2014, 22:09:13
от site-logic
Переход после добавления товара на главную страницу

Автор Александр216

Ответов: 0
Просмотров: 1354
Последний ответ 27.07.2013, 01:29:49
от Александр216
[Download] Плагин vmproductsnapshots_1.1.3.j15. Добавлен вывод свойств и функционал добавления в кор

Автор beagler

Ответов: 28
Просмотров: 17183
Последний ответ 07.06.2012, 11:06:09
от plk500
конфликт иконки "Скидка!" на товарах

Автор evsmusic

Ответов: 0
Просмотров: 3582
Последний ответ 28.12.2011, 14:58:35
от evsmusic
Редактирование и Добавления "Мнения покупателей"

Автор warlocksp

Ответов: 1
Просмотров: 1678
Последний ответ 30.11.2011, 17:27:08
от AnnSwamp