0

私は初心者で、ウェブサイト用の簡単なプラグインを書きたいのですが、いくつか問題があります。

プラグインを div から記事にインポートしようとすると

<div id="locker-464" class="like-dl blue"> </div>

私はcss frame no jsのみを取得します。

jimport('joomla.plugin.plugin');
$document = & JFactory::getDocument();
$document->addStyleSheet(JURI::root() . 'plugins/content/plugin/tmpl/css/style.css', 'text/css', null, array() );
$document->addScript(JURI::root() . 'plugins/content/plugin/tmpl/js/liketodownlad.js');
$document->addScript ("https://ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js");
$document->addScript ("http://connect.facebook.net/en_US/all.js#xfbml=1");

class plgContentLiketoDownload extends JPlugin {

function plgContentLiketoDownload( &$subject, $params ) 
    {
        parent::__construct( $subject, $params );
    }

 function onContentPrepare($context, &$params)
 {
 global $mainframe;
    $app = JFactory::getApplication();
    $plugin = & JPluginHelper::getPlugin('content', 'plugin');
    echo "<script type=\"text/javascript\">
        var $jx = jQuery.noConflict();
            $jx(document).ready(function(){        

                $jx('#locker-464').liketodl({
                download_url: 'http://website.com/sampleDownload.zip',
                like_url: 'https://www.facebook.com/FBpage',
                like_colorscheme: 'light'
                });

                $jx('#locker-564').liketodl({
                download_url: 'sampleDownload.zip',
                like_url: 'http://google.com',
                like_colorscheme: 'list'
                });

            });";
</script>";

    return true;
 }
}

?>
4

1 に答える 1

0

onContentPrepare メソッドのシグネチャは次のとおりです。

public function onContentPrepare($context, &$row, &$params, $page = 0)
{
... your stuff
}

記事のコンテンツを置き換える場合、 $row->text に割り当てると出力が変更されます。例については、/plugins/content/pagebreak/pagebreak.php を確認してください。

PHP 5.x を使用している場合は、コンストラクターとして plgContentLikeToDownload を使用しないでください。

public function __construct(& $subject, $config)
{
        parent::__construct($subject, $config);
        $this->loadLanguage(); // if needed
}

http://docs.joomla.org/J2.5:Creating_a_Plugin_for_Joomlaを参照してください。

編集


クラス宣言の外側のすべてのコードを削除して、これを試してください。

jimport('joomla.plugin.plugin');
class plgContentLiketoDownload extends JPlugin {

    function plgContentLiketoDownload( &$subject, $params ) 
    {
        parent::__construct( $subject, $params );
    }

    public function onContentPrepare($context, &$row, &$params, $page = 0)
    {
       $row->text = "Hello world!";
       return true;
    }
}

編集終了

よろしく

于 2013-09-18T14:11:26.093 に答える