mirror of
https://github.com/getgrav/grav-plugin-admin.git
synced 2025-11-05 04:46:03 +01:00
Added option to use old-style ‘new tab’ page preview + fixed #1930
This commit is contained in:
@@ -25,6 +25,7 @@ session:
|
|||||||
warnings:
|
warnings:
|
||||||
delete_page: true
|
delete_page: true
|
||||||
edit_mode: normal
|
edit_mode: normal
|
||||||
|
frontend_preview_target: inline
|
||||||
show_github_msg: true
|
show_github_msg: true
|
||||||
pages_list_display_field: title
|
pages_list_display_field: title
|
||||||
google_fonts: false
|
google_fonts: false
|
||||||
|
|||||||
@@ -137,6 +137,16 @@ form:
|
|||||||
expert: Expert
|
expert: Expert
|
||||||
help: Auto will use blueprint if available, if none found, it will use "Expert" mode.
|
help: Auto will use blueprint if available, if none found, it will use "Expert" mode.
|
||||||
|
|
||||||
|
frontend_preview_target:
|
||||||
|
type: select
|
||||||
|
label: Preview pages target
|
||||||
|
size: medium
|
||||||
|
default: inline
|
||||||
|
options:
|
||||||
|
inline: Inine in Admin
|
||||||
|
_blank: New tab
|
||||||
|
_self: Current tab
|
||||||
|
|
||||||
pages.show_parents:
|
pages.show_parents:
|
||||||
type: select
|
type: select
|
||||||
size: medium
|
size: medium
|
||||||
|
|||||||
@@ -1792,8 +1792,14 @@ class Admin
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Return HTTP_REFERRER if set
|
||||||
|
*
|
||||||
|
* @return null
|
||||||
|
*/
|
||||||
public function getReferrer()
|
public function getReferrer()
|
||||||
{
|
{
|
||||||
return $_SERVER['HTTP_REFERER'];
|
$referrer = isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : null;
|
||||||
|
return $referrer;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -41,12 +41,19 @@
|
|||||||
{{ parent() }}
|
{{ parent() }}
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
||||||
|
{% if config.plugins.admin.frontend_preview_target != 'inline' %}
|
||||||
|
{% set preview_html = (base_url_relative_frontend|rtrim('/') ~ (context.home ? '' : context.route)) ?: '/' %}
|
||||||
|
{% set preview_target = config.plugins.admin.frontend_pages_target %}
|
||||||
|
{% set preview_link = context.routable ? '<a class="button" target="' ~ preview_target ~ '" href="' ~ preview_html ~ '" title="' ~ "PLUGIN_ADMIN.PREVIEW"|tu ~ '"> <i class="fa fa-fw fa-eye" style="font-size:18px;margin-right:0;"></i></a>' : '' %}
|
||||||
|
{% else %}
|
||||||
{% set preview_html = (base_url|rtrim('/') ~ '/preview' ~ (context.home ? '' : context.route)) ?: '/' %}
|
{% set preview_html = (base_url|rtrim('/') ~ '/preview' ~ (context.home ? '' : context.route)) ?: '/' %}
|
||||||
{% set preview_link = context.routable ? '<a class="button" href="' ~ preview_html ~ '" title="' ~ "PLUGIN_ADMIN.PREVIEW"|tu ~ '"> <i class="fa fa-fw fa-eye" style="font-size:18px;margin-right:0;"></i></a>' : '' %}
|
{% set preview_link = context.routable ? '<a class="button" href="' ~ preview_html ~ '" title="' ~ "PLUGIN_ADMIN.PREVIEW"|tu ~ '"> <i class="fa fa-fw fa-eye" style="font-size:18px;margin-right:0;"></i></a>' : '' %}
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
{% macro loop(page, depth, twig_vars) %}
|
{% macro loop(page, depth, twig_vars) %}
|
||||||
{% set separator = twig_vars['config'].system.param_sep %}
|
{% set config = twig_vars['config'] %}
|
||||||
{% set display_field = twig_vars['config'].plugins.admin.pages_list_display_field %}
|
{% set separator = config.system.param_sep %}
|
||||||
|
{% set display_field = config.plugins.admin.pages_list_display_field %}
|
||||||
{% set base_url = twig_vars['base_url_relative'] %}
|
{% set base_url = twig_vars['base_url_relative'] %}
|
||||||
{% set base_url_relative_frontend = twig_vars['base_url_relative_frontend'] %}
|
{% set base_url_relative_frontend = twig_vars['base_url_relative_frontend'] %}
|
||||||
{% set base_url_simple = twig_vars['base_url_simple'] %}
|
{% set base_url_simple = twig_vars['base_url_simple'] %}
|
||||||
@@ -95,8 +102,14 @@
|
|||||||
<p class="page-route">{{ p.header.routes.default ?: p.route }} <span class="spacer"><i class="fa fa-long-arrow-right"></i></span> {{ p.template() }}</p>
|
<p class="page-route">{{ p.header.routes.default ?: p.route }} <span class="spacer"><i class="fa fa-long-arrow-right"></i></span> {{ p.template() }}</p>
|
||||||
</div>
|
</div>
|
||||||
<span class="page-item__tools">
|
<span class="page-item__tools">
|
||||||
|
{% if config.plugins.admin.frontend_preview_target != 'inline' %}
|
||||||
|
{% set preview_target = config.plugins.admin.frontend_pages_target %}
|
||||||
|
{% set preview_html = (base_url_relative_frontend|rtrim('/') ~ (p.home ? '' : p.route)) ?: '/' %}
|
||||||
|
{% set preview_link = p.routable ? '<a class="page-view" target="' ~ preview_target ~ '" href="' ~ preview_html ~ '" title="' ~ "PLUGIN_ADMIN.PREVIEW"|tu ~ '"> <i class="fa fa-fw fa-eye"></i></a>' : '' %}
|
||||||
|
{% else %}
|
||||||
{% set preview_html = (base_url|rtrim('/') ~ '/preview' ~ (p.home ? '' : p.route)) ?: '/' %}
|
{% set preview_html = (base_url|rtrim('/') ~ '/preview' ~ (p.home ? '' : p.route)) ?: '/' %}
|
||||||
{% set preview_link = p.routable ? '<a class="page-view" href="' ~ preview_html ~ '" title="' ~ "PLUGIN_ADMIN.PREVIEW"|tu ~ '"> <i class="fa fa-fw fa-eye"></i></a>' : '' %}
|
{% set preview_link = p.routable ? '<a class="page-view" href="' ~ preview_html ~ '" title="' ~ "PLUGIN_ADMIN.PREVIEW"|tu ~ '"> <i class="fa fa-fw fa-eye"></i></a>' : '' %}
|
||||||
|
{% endif %}
|
||||||
{{ preview_link|raw }}
|
{{ preview_link|raw }}
|
||||||
{% if warn %}
|
{% if warn %}
|
||||||
<a href="#delete" data-remodal-target="delete" data-delete-url="{{ uri.addNonce(page_url ~ '/task' ~ separator ~ 'delete', 'admin-form', 'admin-nonce') }}" class="page-delete" ><i class="fa fa-close"></i></a>
|
<a href="#delete" data-remodal-target="delete" data-delete-url="{{ uri.addNonce(page_url ~ '/task' ~ separator ~ 'delete', 'admin-form', 'admin-nonce') }}" class="page-delete" ><i class="fa fa-close"></i></a>
|
||||||
|
|||||||
@@ -2,11 +2,13 @@
|
|||||||
|
|
||||||
{% set route = admin.route == '' ? '' : '/' ~ admin.route %}
|
{% set route = admin.route == '' ? '' : '/' ~ admin.route %}
|
||||||
{% set preview_link = base_url_relative_frontend|rtrim('/') ~ route %}
|
{% set preview_link = base_url_relative_frontend|rtrim('/') ~ route %}
|
||||||
|
{% set preview_html = (base_url|rtrim('/') ~ '/preview' ~ (context.home ? '' : context.route)) ?: '/' %}
|
||||||
|
{% set admin_route = '/' ~ admin.route %}
|
||||||
|
{% set back_link = base_url|rtrim('/') ~ '/pages' ~ page.find(admin_route).rawRoute() %}
|
||||||
|
|
||||||
{% block titlebar %}
|
{% block titlebar %}
|
||||||
|
|
||||||
<div class="button-bar">
|
<div class="button-bar">
|
||||||
<a class="button" href="{{ admin.getReferrer() }}"><i class="fa fa-reply"></i> {{ "PLUGIN_ADMIN.BACK"|tu }}</a>
|
<a class="button" href="{{ back_link }}"><i class="fa fa-reply"></i> {{ "PLUGIN_ADMIN.BACK"|tu }}</a>
|
||||||
<a class="button" href="{{ preview_link }}" target="_blank"><i class="fa fa-external-link"></i> {{ "PLUGIN_ADMIN.OPEN_NEW_TAB"|tu }}</a>
|
<a class="button" href="{{ preview_link }}" target="_blank"><i class="fa fa-external-link"></i> {{ "PLUGIN_ADMIN.OPEN_NEW_TAB"|tu }}</a>
|
||||||
</div>
|
</div>
|
||||||
<h1><i class="fa fa-fw fa-eye"></i> {{ "PLUGIN_ADMIN.PREVIEW"|tu }}: <strong>/{{ admin.route }}</strong></h1>
|
<h1><i class="fa fa-fw fa-eye"></i> {{ "PLUGIN_ADMIN.PREVIEW"|tu }}: <strong>/{{ admin.route }}</strong></h1>
|
||||||
|
|||||||
Reference in New Issue
Block a user