2017-08-20 13 views
0

カウントダウンタイマーを追加できる記事用のJoomlaアドインを作成したいと思います。私は、例えばショートコード[countdowntimer date = "23-9-2017" time = "13:42"]を使って実行できるようにしたいと考えています。ショートコードにパラメータを追加してモジュールに移動するにはどうすればよいかわかりません。 [countdowntimer]を私のカウンターに交換しました。Joomla 3.x.x Shortcodeプラグインとモジュールでエラーが発生しました

<?php 
defined('_JEXEC') or die(); 

class plgContentShortcode extends JPlugin 
{ 
    protected $autoloadLanguage = true; 
    function onContentPrepare ($context, $article, $params, $limitstart) 
    { 
    // preg_match("/([[]countdowntimer(.*)[]])/", $article->text, $tmp, PREG_OFFSET_CAPTURE); 
    // I'm trying to extract parameters in this way 

    // preg_match("/date=\"([0-9-]+)\"/", $tmp[2][0], $return_tmp['date'], PREG_OFFSET_CAPTURE); //date 
    // preg_match("/time=\"([0-9:]+)\"/", $tmp[2][0], $return_tmp['time'], PREG_OFFSET_CAPTURE); // time 

    $article->text = preg_replace('/([[]countdowntimer(.*)[]])/', '{loadmodule mod_countdowntimer}', $article->text); 
    return true; 
    } 
} 
?> 

答えて

1

タイトルに「エラー」があります。しかし、あなたのコードで正確な問題が何であるかは言いません(それはうまくいきません)。 独自のプラグインではなく、https://extensions.joomla.org/extension/modules-anywhere/の既存の拡張機能を使用できます。この拡張機能は、あなたが望むものを正確に行うことができます。

しかし、あなた自身のプラグインを作成したい場合は、JModuleHelperクラスを見て、モジュールをパラメータでロードしてください(https://api.joomla.org/cms-3/classes/JModuleHelper.html参照)。 JModuleHelper::renderModuleの結果は、追加できる文字列です$article->text

+0

あなたが問題を述べたことをちょうど見ました。申し訳ありませんが、それを高速で読む:-) –

関連する問題