Php 使用管理部分进行块定位
在我的管理部分,我有一个块生成器。 区块非常简单,区块标题,区块内容 在管理部分显示/确定主题布局的最简单方法是什么,以便用户可以定位块 一个想法是使用数字,因此,1=块区域1,2=块区域2等 前端中的函数可能如下所示:Php 使用管理部分进行块定位,php,Php,在我的管理部分,我有一个块生成器。 区块非常简单,区块标题,区块内容 在管理部分显示/确定主题布局的最简单方法是什么,以便用户可以定位块 一个想法是使用数字,因此,1=块区域1,2=块区域2等 前端中的函数可能如下所示: function showBlocksForArea(1) { // Return blocks Array where block_area=1 } 在主题/模板中呈现为: echo'<div id="block_area_one">'; foreac
function showBlocksForArea(1) {
// Return blocks Array where block_area=1
}
在主题/模板中呈现为:
echo'<div id="block_area_one">';
foreach($view->showBlocksForArea(1) as $row) {
echo '
<div class="block_wrap">
<div class="block_title">'.$row['block_title'].'</div>
<div class="block_body">'.$row['block_body'].'</div>
</div>
';
}
echo '</div>';
echo';
foreach($view->showBlocksForArea(1)作为$row){
回声'
“.$row['block_title']”
“.$row[“块体”]。”
';
}
回声';
这很好,如果用户不看主题就不知道这些区域在哪里,请接受。
管理部分
如果我能抓取布局的HTML,这样的东西将是完美的:
有更简单的方法吗?以下是基于此处发生的聊天的答案: 以下是我对您的目标的理解:
- 您正在创建一种用于创建网站的CMS应用程序
- 这些网站是模块化的,允许管理员轻松定制其网站和内容的外观和感觉,而无需广泛的代码知识
- 为了实现这一点,您已经创建了一个模板和内容系统,可以通过各种方式组合这些模板和内容来创建这些主题页面。这主要是由一组PHP函数驱动的,这些函数从数据库中提取模板和块数据
- 随着新主题的创建,管理员可以在不做任何修改的情况下“正常工作”,因为这些函数可以拉入任何主题,并且可以与任何模板组合
- 模板必须有一个通用的命名结构,这样CSS就可以很容易地替换掉
模板
记录可以有任意数量的“槽”。DB对于插槽在页面上的位置是不可知的(这是主题的责任),但是TemplateSlots
用于为内容(块
)的放置位置提供“占位符”
每次用户创建一个新的页面
,都会添加一条页面记录,该页面与一个模板
相关联,该模板中还包含有关插槽的信息。模板
还定义了一个文件(最有可能是一个PHP文件),用于指定插槽所在的占位符。该页面从与其关联的站点
获取主题
信息。每个主题
可以有一组主题内容
(多个CSS文件、js文件、图像等)
块
可以创建为其分配内容的块。这些块最初独立于模板
,DB可以预先填充公共构建“块”。通过创建PageBlock
记录,将块分配给页面后,这些块可以与模板关联,并分配TemplateSlot
DB结论
这种结构允许很大的灵活性,并允许数据库处理许多潜在的复杂用户场景。通过将模板和插槽分割为单独的表,您可以动态创建各种形状和大小的模板,而无需进行任何代码更改
PHP管理员
对于管理员,您可以使用任何您喜欢的机制从数据库中提取数据。但用户工作流程将如下所示:
登录到管理员
选择操作(a->新建,b->更新现有)
选择页面模板
将内容块指定给模板插槽
预演
编译更改(a->保存新页面,b->更新现有页面)