0

したがって、現在表示されている Joomla の記事を取得するために、この動作する PHP コードがあります。

<?php
    $option = JRequest::getCmd('option');
    $view = JRequest::getCmd('view');
if ($option=="com_content" && $view=="article") {
    $ids = explode(':',JRequest::getString('id'));
    $article_id = $ids[0];
    $article =& JTable::getInstance("content");
    $article->load($article_id);
    echo $article->get("title");
}
else {
    echo "Error - not an article";
}
?>

ChronoForms でクライアントに電子メールで送信する記事名を取得するのに成功しました。これはたまたま、12345 など、各記事名の末尾に ID コードが付いた入札 Web サイトです。

このコードを joomla のどこかに挿入する手っ取り早い方法はありますか?

{gallery}12345{/gallery} 

テンプレートに直接追加しようとしましたが、どこに挿入しても(上、下、中央)さまざまな問題が発生しました。記事の joomla アドオンで PHP も試しましたが、そのコードでページの表示が停止しました。

4

1 に答える 1

0

コメントに基づいて、これは私が理解していることです。これを間違えた場合は訂正してください。

コードを含む記事がいくつかあります

{gallery}here!{/gallery} 

プラグインを置き換える必要があります

 {gallery}The title of the article{/gallery}

もしそうなら、これはcom_content、view = articleで発生する必要があり、JoomlaはプラグインのonContentBeforeDisplay()の記事オブジェクトを利用できるようにします。

function onContentBeforeDisplay($context, &$article, &$params, $page=0){
    $view     = JRequest::getCmd('view'); 
    if ($view == 'article') {
        $content = $article->text;  
        $title = $article->title;
        $content = preg_replace('/{gallery}.*{\/gallery}/',"{gallery}$title{/gallery}",$content);
        $article->text = $content;
    }
}

ただし、別の記事のタイトルが必要な場合、またはcom_content view = articleの外部で必要な場合は、com_contentをインスタンス化して、そこから取得する必要があります。

于 2013-02-17T13:15:28.630 に答える