Joomlaでフロントエンド投稿・編集するには

WordPressと違って、Joomla!では管理画面ではなく他の人に見てもらう画面(フロントエンド)上で記事を編集する機能がついています。(WordPressでも「Front End Editor」などのプラグインで実現できます)

記事だけではなく、モジュールなども編集できるので便利です。

Sponsored link

フロントエンドで記事を投稿・編集する意味

フロントエンドで記事を投稿・編集できるとは言っても、閲覧しに来てくれる人から見える状態をそのまま編集できるわけではありません。

それなのに、フロントエンドで記事を投稿・編集する機能を使いたいのは、

  • 管理画面にアクセスさせる必要がない
  • コンテンツを見ながら編集作業ができる

というメリットがあるためです。

個人的には、管理画面のレイアウトをいじらないので、間違って自分の別のサイトに投稿してしまう危険を減らせるのもポイントです。

作成中のブログサイトでは

最近作ったサイトは、商品レビューサイトで友人と一緒に運営する予定です。マネタイズ方法は、コンテンツマッチ広告のアドセンスと物販アフィリエイトです。

このサイトは

  1. 記事を投稿する編集者はサイトの閲覧者にもなる
  2. 管理画面を全員に触らせたくはない

という前提で作っているので、フロントエンドでの記事編集が必要です。

イントロ画像(アイキャッチ画像)の設定

フロントエンド編集は、イントロ画像(WordPressのアイキャッチ画像と同じ)の設定が表示されないように初期設定されています。

イントロ画像を設定できるようにしたい場合には、管理画面で設定しておく必要があります。

管理画面で「システム」→「グローバル設定」→「記事」の「レイアウトの編集」タブ内にある、「サイトの画像とリンク」を「表示」に設定すれば、フロントエンド編集でイントロ画像を編集できるようになります。

joomla-frontend-images

日本語でサイトを設定していると絶対に気づけない設定です・・・。英語版では「Frontend Images and Links」なので、現在の日本語化がおかしいと思われます。

FLEXIcontentを使っていても同じ方法で設定できます。Joomla記事コンポーネントを使っている場合には、この設定画面に記事リストから「オプション」を選んで飛ぶことができます。FLEXIcontentではJoomla記事コンポーネントが表示できなくなっているので、記事リストから「オプション」を使って飛ぶことはできません。(ただし、プラグイン「System – Flexisystem, core functions」で記事コンポーネントをSuperusersに対して許可すると管理者でログインしている場合にはできるようになります。)

フロントエンド編集の問題点

対応できないモジュールもある

Joomlaのフロントエンド編集を使うと、不便な点もあります。ページに表示させるモジュールがすべて対応していわけではないのが一つです。フロントエンドエディタを使おうとすると、エラーを吐いて画面を真っ白にしてしまう拡張機能もあります。

Notice: Trying to get property of non-object in /components/com_********/views/default.php on line 18

Fatal error: Call to a member function get() on a non-object in /components/com_********/views/default.php on line 18

どの拡張機能だったのか忘れてしまいましたが、エラー表示をOFFにしていると完全に真っ白な画面になってしまうので途方にくれます。

キャッシュプラグインは?

もう一つ心配だったのは、サイトをキャッシュするための拡張機能「JotCache」で、WordPressでいうとWP Super Cacheのような役割です。

ページの最終出力をPHP形式でキャッシュしてくれます。これがあるとページの表示にかかる処理のほとんどを飛ばせるので、だいぶ早く表示できるようになります。(気の所為かもしれませんがキャッシュを作るときの表示は少し遅くなるような気がします。)

ページがキャッシュされていたら、コンテンツの編集ができなくなるのではないか?ユーザーごとの表示ができなくなるのではないか?と思っていたのですが、プラグインの公式掲示板に「ログインユーザーに対してのキャッシュができるか?」という質問があって、「できない」と開発者が答えていました。

Joomla!標準のページキャッシュでは、この手の問題が起こることがありましたので心配していたのですが、JotCacheは問題なく動いています。

アドセンスの表示

もう一つの問題はアドセンス広告などの取扱いです。明確に違反かどうかの情報をまだ見つけていませんが、アドセンス規約の広告の配置に関するポリシー

動的なコンテンツが主な要素となっているページやサイトでの広告掲載

動的なコンテンツ(ライブチャット、インスタント メッセージ、自動更新コメントなど)が主な要素となっているページやサイトには Google 広告を表示できません。

この条項に抵触しそうな気がします。

フロントエンド編集をしているということは、動的なコンテンツとアドセンスなどのレイアウトだけでできたページということになってしまいますので。特にアドセンスの場合は危ない橋を渡っても良いことはありません。

フロントエンド編集に対応したサイトはFLEXIcontentを使ったものしか運営していないので確認できませんが、「Advanced Module Manager」を使えば、URLクエリの除外か、ビューの除外でアドセンスを表示するモジュールを無効にできると思います。FLEXIcontentの場合も同じ方法が使えると思います。

件のサイトではDFP(Doubleclick for Publishers)のGPTタグを使っていて、GPTタグを記事用のテンプレートで定義しているので、フロントエンド編集でも、インライン編集でなければフロントエンド編集はエディタコンポーネントの表示になるので、フロントエンド編集画面ではGPTタグが未定義になりアドセンスが読み込まれません。Javascriptはエラーを出しますが問題なく表示されているので、特に設定も要らず、便利です。

Sponsored link
Spinsored link

シェアする

  • このエントリーをはてなブックマークに追加

フォローする