Grav-plugin-admin: フロントエンドの「編集」リンク

作成日 2016年11月21日  ·  9コメント  ·  ソース: getgrav/grav-plugin-admin

すべてのフロントエンドページに簡単な「編集」リンクを追加する方法はありますか? このリンクでは、grav-plugin-adminプラグインがインストールされており、ユーザーが正しい権限を持っているかどうかを確認する必要があります。

question

最も参考になるコメント

みんな助けてくれてありがとう。 それを行うためのより良い方法があるかもしれませんが、これが私のpartials /base.html.twigでやったことです。

{% if config.plugins.admin.enabled and authorize(['admin.pages', 'admin.super']) %}
  {% if page.link == '/' %}
    {% set editPagePath = "/" ~ page.slug %}
  {% else %}
    {% set editPagePath = uri.path %}
  {% endif %}
  <a class="editpage" href="/admin/pages{{ editPagePath }}">Edit</a>
{% endif %}

そして私のCSSで

.editpage {
  position: fixed;
  bottom: 0;
  right: 0;
  padding: 5px 6px;
  background: #F67E40;
  color: #fff;
  display: block;
  font-weight: bold;
  text-decoration: none;
  text-transform: uppercase;
}

このようなものがすべてのテーマにデフォルトで含まれているといいでしょう。

たぶん、管理プラグインに編集リンクのページ変数を含めることができますか? テンプレートでは、私が提供したコードよりもずっと見栄えがします。

全てのコメント9件

これはテーマに直接実装できるため、管理プラグインがインストールされていることがすでにわかっているので、リンクを{% if authorize(['admin.pages', 'admin.super']) %}条件付きでラップできます。

こんにちは@flaviocopes 、私はこのスレッドをフォローしていて、非常によく似た何かをしたいと思っています。ボタンが押されたときにGravログイン画面をトリガーし、ログインした場合はTwigコードを実行します。 これも可能ですか?もしそうなら、私が学ぶための既存の例はありますか? ありがとうございました!

@flaviocopesを気にしないでください、誰かが私にこの小さな宝石を指さしました: https ://learn.getgrav.org/cookbook/general-recipes#create-a-private-area🙂

@flaviocopesに感謝します。 追加してみました
{% if authorize(['admin.pages', 'admin.super']) %} <a href="#">Edit</a> {% endif%}

base.html.twigに送信しましたが、機能しませんでした。 キャッシュをクリアしてログインし、ページを確認しましたが、ページへの編集リンクが印刷されませんでした。

他のアイデアはありますか? 編集者がページを編集するために管理者にすばやくジャンプできるようにするために、このようなものはおそらくAntimatterのようなコアテーマに含まれている必要がありますか?

管理者ユーザーでフロントエンドにログインする必要があります。 管理者セッションとフロントエンドセッションが分離されているため、デフォルトでは管理者にログインするだけでは不十分です。

@rhukster 。 サイト管理者ログインを使用して/ adminにログインしました(これが唯一のユーザーです)。 フロントエンドにログインするにはどうすればよいですか? 申し訳ありませんが、私はGravを初めて使用します。

ログインプラグインを使用します。https://github.com/getgrav/grav-plugin-login (https://github.com/getgrav/grav-plugin-login#login-page)のreadmeを参照して

質問に答えたら締めくくります

みんな助けてくれてありがとう。 それを行うためのより良い方法があるかもしれませんが、これが私のpartials /base.html.twigでやったことです。

{% if config.plugins.admin.enabled and authorize(['admin.pages', 'admin.super']) %}
  {% if page.link == '/' %}
    {% set editPagePath = "/" ~ page.slug %}
  {% else %}
    {% set editPagePath = uri.path %}
  {% endif %}
  <a class="editpage" href="/admin/pages{{ editPagePath }}">Edit</a>
{% endif %}

そして私のCSSで

.editpage {
  position: fixed;
  bottom: 0;
  right: 0;
  padding: 5px 6px;
  background: #F67E40;
  color: #fff;
  display: block;
  font-weight: bold;
  text-decoration: none;
  text-transform: uppercase;
}

このようなものがすべてのテーマにデフォルトで含まれているといいでしょう。

たぶん、管理プラグインに編集リンクのページ変数を含めることができますか? テンプレートでは、私が提供したコードよりもずっと見栄えがします。

このページは役に立ちましたか?
0 / 5 - 0 評価