我如何在 fancybox 中打开 Prestashop 1.6.1.x 后台控制器?
How do i open a Prestashop 1.6.1.x Back office controller in a fancybox?
我正在开发具有后台设置页面的 Prestashop 1.6.1.x 模块。
从这个页面我想有一个 link 到 index.php?controller=AdminThemes 并在 modal/fancybox 中打开它。
- 如何加载 fancybox js 和 css,以便我可以在 link 上使用 class="fancybox"?
- 如何标记 link?
- 是否可以 link 此控制器 "naked",不包括页眉、页脚和左侧菜单栏?
PS:我想在 PHP 中回应这一点,而不是 Smarty,但如果有人想分享 php 和 Smarty 方式,我认为对更多人有帮助。
Fancybox 会自动加载到每个管理页面。
基本上您需要做的就是在页面中显示一个简单的 link。
<a class="fancybox" href="{$link->getAdminLink('AdminThemes')}&liteDisplaying=1">Link description</a>
并添加此 javascript
(function ($) {
$(document).ready(function () {
$('.fancybox').fancybox({
width: '90%',
height: '90%',
type: 'iframe',
title: ''
});
});
})(jQuery);
$link->getAdminLink('AdminThemes')
将为该页面生成一个 link 并通过附加 &liteDisplaying=1
告诉控制器仅加载页面内容(没有页眉、页脚和菜单)。
然后在 javascript 中将该页面作为 iframe fancybox 加载。它会自动从锚点读取href。
请不要用 PHP 回显内容。您拥有 MVC 结构是有原因的。
我正在开发具有后台设置页面的 Prestashop 1.6.1.x 模块。 从这个页面我想有一个 link 到 index.php?controller=AdminThemes 并在 modal/fancybox 中打开它。
- 如何加载 fancybox js 和 css,以便我可以在 link 上使用 class="fancybox"?
- 如何标记 link?
- 是否可以 link 此控制器 "naked",不包括页眉、页脚和左侧菜单栏?
PS:我想在 PHP 中回应这一点,而不是 Smarty,但如果有人想分享 php 和 Smarty 方式,我认为对更多人有帮助。
Fancybox 会自动加载到每个管理页面。
基本上您需要做的就是在页面中显示一个简单的 link。
<a class="fancybox" href="{$link->getAdminLink('AdminThemes')}&liteDisplaying=1">Link description</a>
并添加此 javascript
(function ($) {
$(document).ready(function () {
$('.fancybox').fancybox({
width: '90%',
height: '90%',
type: 'iframe',
title: ''
});
});
})(jQuery);
$link->getAdminLink('AdminThemes')
将为该页面生成一个 link 并通过附加 &liteDisplaying=1
告诉控制器仅加载页面内容(没有页眉、页脚和菜单)。
然后在 javascript 中将该页面作为 iframe fancybox 加载。它会自动从锚点读取href。
请不要用 PHP 回显内容。您拥有 MVC 结构是有原因的。