mirror of
https://github.com/getgrav/grav-plugin-admin.git
synced 2025-11-02 03:16:11 +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:
|
||||
delete_page: true
|
||||
edit_mode: normal
|
||||
frontend_preview_target: inline
|
||||
show_github_msg: true
|
||||
pages_list_display_field: title
|
||||
google_fonts: false
|
||||
|
||||
@@ -137,6 +137,16 @@ form:
|
||||
expert: Expert
|
||||
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:
|
||||
type: select
|
||||
size: medium
|
||||
|
||||
@@ -1792,8 +1792,14 @@ class Admin
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Return HTTP_REFERRER if set
|
||||
*
|
||||
* @return null
|
||||
*/
|
||||
public function getReferrer()
|
||||
{
|
||||
return $_SERVER['HTTP_REFERER'];
|
||||
$referrer = isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : null;
|
||||
return $referrer;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -41,12 +41,19 @@
|
||||
{{ parent() }}
|
||||
{% endblock %}
|
||||
|
||||
{% 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>' : '' %}
|
||||
{% 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_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) %}
|
||||
{% set separator = twig_vars['config'].system.param_sep %}
|
||||
{% set display_field = twig_vars['config'].plugins.admin.pages_list_display_field %}
|
||||
{% set config = twig_vars['config'] %}
|
||||
{% 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_relative_frontend = twig_vars['base_url_relative_frontend'] %}
|
||||
{% 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>
|
||||
</div>
|
||||
<span class="page-item__tools">
|
||||
{% 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>' : '' %}
|
||||
{% 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_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 }}
|
||||
{% 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>
|
||||
|
||||
@@ -2,11 +2,13 @@
|
||||
|
||||
{% set route = admin.route == '' ? '' : '/' ~ admin.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 %}
|
||||
|
||||
<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>
|
||||
</div>
|
||||
<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