私は現在、カスタムCMS用の広告モジュールを開発しており、テンプレートタグを使用して、WSYWIGページコンテンツエディタを使用してページに広告を追加できるようにしています。PHPは実行せずに関数を定義します
例:広告
を選択して表示するために、データベースになりますフロントエンドで{=advert_1}
、これは正規表現を介して発見されると、関数に変換すること、Template_tags.php
while ($advertRow = $advertResult->fetch_assoc()) {
$advertGroupID = $advertRow['grpID'];
$advert = "advert_";
${$advert . $advertGroupID} = showAdvert($advertGroupID);
}
これは{=advert_1}
は私が午前問題はshowAdvert
機能に関係なく、かどうかOのすべての広告のために実行されるということですshowAdvert(1)
に変換されることを意味しますそれはページに表示されず、広告が表示されない場合でも「ビュー」に追加されません。
私が望むのは、それを実行せずに関数を定義するだけなので、ページの内容に現れたら関数が実行されます。
でそれを使用するには、私はあなたが何を意味するか見当がつかない。 '{= advert_1}'がページ上にあれば 'showAdvert(1)'に変換されて実行されます。そうでない場合、変換されず実行されません。何が問題なの? – AbraCadaver
変数変数を使用するときはいつでも、配列を実際に使用する必要があります。 – Barmar
データベースから 'grpID'を取得しているので、これをループしてすべての"グループ "のための関数を作成し、' $ {$ advert。 $ advertGroupID} = showAdvert($ advertGroupID); ' –