DjangoCMS-popup 允许您创建包含其他插件的弹出窗口!
项目描述
这是默认CSS的弹出窗口的实际截图。
安装
-
安装模块
python3 -m pip install djangocms-popup
-
将其添加到您的 INSTALLED_APPS
"djangocms_popup",
-
迁移
python3 manage.py migrate djangocms_popup
-
启动您的 django-cms 网站,它应该在这里!
需求
django-cms
:显然,django-sekizai
:仅用于模板。
功能
弹出窗口
一个可以从前端任务栏按钮访问的弹出窗口管理列表
更多弹出窗口!
您可以使用设置中的元组添加更多弹出窗口选项,这允许您选择每个弹出窗口使用的模板文件。
要这样做,只需在您的设置中添加一个名为 DJANGOCMS_POPUP_LIST
的变量,如下所示
DJANGOCMS_POPUP_LIST = (
("bottom_right.html", "Bottom right popup"),
("bottom_left.html", "Bottom left popup"),
("top_right.html", "Top right popup"),
("top_left.html", "Top left popup"),
("center.html", "Center popup"),
)
别忘了将 templates/popup/
文件夹中的所有模板都添加进去!
配置
-
DJANGOCMS_POPUP_LIST
(默认:(("bottom_right.html", "Bottom right popup"),)
)只是一个元组。让用户为弹出窗口选择其他模板。 -
DJANGOCMS_POPUP_TOOLBAR_BUTTON
(布尔值,默认:True
)是否在CMS工具栏中添加一个按钮以列出所有现有弹出窗口 -
DJANGOCMS_POPUP_TOOLBAR_MENU_IDENTIFIER
(字符串,默认:None
)新按钮将添加的菜单的标识符。如果它是None,它将被添加到主工具栏中。:警告:在创建弹出式菜单之前,必须存在与提供的菜单标识符匹配的菜单:定义此菜单的应用程序必须在 djangocms_popup 的 INSTALLED_APPS 之前出现。
-
DJANGOCMS_POPUP_TOOLBAR_MENU_POSITION
(整数,默认:None
)按钮在工具栏或由DJANGOCMS_POPUP_TOOLBAR_MENU_IDENTIFIER
定义的菜单中的位置。
自定义它!
本项目包含的模板仅用于演示目的,您需要将其集成到您的图形规范中,创建一个文件在 templates/popup/popup_plugin.html
。
它是如何工作的
它是一个经典的 djangocms-plugin,包含 admin.py
、cms_plugins.py
、cms_toolbars.py
和 models.py
中的所有内容。
“有趣”的部分在模板中。
子插件将在一个具有 visibility
属性的 div 中渲染(见 MDN 文档)。
然后,一个非常愚蠢的脚本(纯 JavaScript)将使用 setTimeout
延迟显示 div,并添加一个事件监听器到一个小按钮(点击时显示/隐藏弹出窗口)。
如果选中“允许弹出窗口在关闭后重新打开”选项,则即使您刷新页面,小按钮仍然可见。
弹出窗口的状态存储在 localStorage 中(ID 为 popup_is_open_{{ instance.id }}
),因此关闭的弹出窗口在页面刷新时不会重新打开。
**警告!**插件使用 visibility
属性!所以如果弹出窗口中放置的任何插件有 visibilit: visible
属性,它将显示!
项目详情
下载文件
下载适合您平台的应用程序。如果您不确定选择哪个,请了解更多关于 安装包 的信息。