質問: $article->author; if ($author != $name) { /* ? */ } // var_dump($article); // var_dump($params); // var_dump($context); return ""; }
回答: プラグインだけでは問題を解決できませんが、現在ログインしているユーザーのフィールドを記事パラメーターに追加したり、他のユーザーによる記事の追加を防ぐためにカテゴリリストが生成されるビューで単純なifステートメントが必要な場合に使用できます。プラグインコード:function oncontentbeforedisplay($context, &$article, &$params, $limit=0) { $name = jfactory::getuser()->name; $article->logged_in = $name; // var_dump($params); return ""; } $ params-> set( 'logged_in'、$ name);を試しましたただし、ビューでは機能しないため、$ articleパラメーターに追加する必要がありました。編集するビューはjoomla/components/com_content/views/category/tmpl/default_article.phpです。この行の下:<?php foreach ($this->items as $i => $article) : ?> 追加<?php if ($this->items[$i]->author == $this->items[$i]->logged_in) : ?> 下部のifステートメントを閉じると、現在のユーザーが作成した記事のみがテーブルに表示されます。編集:dimitriの回答のおかげで、プラグインなしでビューファイル内のユーザーに直接アクセスできるはずです。ビューファイルを直接変更するのではなく、オーバーライドを使用する必要があります。