2012-01-18 4 views
1

私はJoomlaの新機能で、Joomlaのいくつかのプラグインは{}のような変数を使用しています。たとえば、 '{mosmap}'はJoomlaのGoogleマップを表示します。私はそれがどのように動作するのかを知りたいので、自分の要件に合わせてプラグインをカスタマイズすることができます。Joomla {}ブラケットの実装

答えて

1

{}ジョムラでは、wordpressの[]、それらは置換タグと呼ばれます。私はいくつかのモジュールとコンポーネントをやったが、私はJoomlaのプラグインをやったことはないが、私はWordpressでショートタグをしていた。

エンジンであるJoomlaやWordpressは、{}や[]を検出してコンテンツをプラグインに転送できるものに解析し、プラグインがそれに対応できるようにします。

Wordpressの中に例えば

、:のように私の関数の配列としての私のワードプレスのプラグインへ

[mytag id="6" image="blabla.jpg"] 

リレー:私はそれについての詳細は、http://docs.joomla.org/Pluginを読んでお勧めします

function mytag_plugin($data){ 
    var_dump($data); 
} 

array(2){ 
    [id] => (int)6, 
    [image] => (string)"blabla.jpg", 
} 

..

3

{}タグは、Joomlaプラグインで置き換えタグとして使用されます。正規表現のマッチングと置換を使用して動作します。 例として、我々は置換タグとして{loadposition}を使用してロード・モジュール・プラグインのコードを見ることができます(あなたがファイルに完全なコードを見つけることができるで<Joomla_installation_folder>/plugins/content/loadmodule.php)これは、以下のmanner-

// expression to search for 
$regex = '/{loadposition\s*.*?}/i'; 
$pluginParams = new JParameter($plugin->params); 

// check whether plugin has been unpublished 
if (!$pluginParams->get('enabled', 1)) { 
    $row->text = preg_replace($regex, '', $row->text); 
return true; 
} 

// find all instances of plugin and put in $matches 
preg_match_all($regex, $row->text, $matches); 
で動作

上記のコードはJoomla 1.5用です。 Joomla 1.7ではいくつかの違いを持っ​​て同じメソッドを使用していますが、正確なコードは(onContentPrepare()の関数内)にあります。

関連する問題