作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我为我的一位客户编写了一个简单的 CMS,专门满足他的需要(没有他永远不会使用的主流内容管理系统的膨胀)。
CMS 使他能够创建和管理两种类型的内容:页面和新闻(显示在边栏中的短消息)。
页面按字母顺序显示在网站的导航菜单中。我的客户希望能够按照自定义顺序自行对页面进行排序。
以编程方式执行此操作的最佳方法是什么?我正在考虑在页面表中添加一个名为“优先级”的列。这将是一个数字,页面将根据该数字升序或降序排序。客户可以为每个页面编辑这个数字吗?
只是好奇你对此有何看法?有一个更好的方法吗?一些用于此目的的设计模式?
最佳答案
我个人使用 jQuery ui 可排序插件。客户端可以从列表中拖放项目,改变顺序。
接下来,我再次使用 jQuery 循环遍历项目列表,编译 ID 的 CSV 列表并将其发送到服务器。
var imageList;
function init() {
imageList = $("#imagelist");
if(imageList.length > 0) {
imageList.sortable({stop:onStopSorting});
}
}
function onStopSorting() {
var datas = imageList.find("span.data");
var result = new Array();
for(var i = 0; i < datas.length; i++) {
result.push(datas.eq(i).html());
}
$("#imageSort").val(result.join(","));
}
在服务器上:
if(isset($_REQUEST["imageSort"]) && $_REQUEST["imageSort"] != "") {
$imageIdList = explode(",", $_REQUEST["imageSort"]);
for($i = 0; $i < count($imageIdList); $i++) {
$this->setImagePriority($imageIdList[$i], $i+1);
}
}
它可能比一个漂亮的设计模式更“快速且肮脏”,但它确实有效。
关于php - 如何在 CMS 中排序页面?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1688591/
我是一名优秀的程序员,十分优秀!