当前位置:首页 > 建站教程 > pbootcms教程>正文

PbootCMS高级应用技巧:用扩展标签自制地图x,y轴坐标定位

2020-11-24 17:29:25 分类: pbootcms教程 阅读(1238) 编辑:小郭 评论(6)

最近做了一个项目,在地图上需要标出每个城市镇区并且可以点击进内容页,最方便的方法是用绝对定位(absolute)。

先看下效果图吧:


pbootcms教程


如图上所示,每个镇区就是对应后台的一篇文章内容,那要准确定位这些位置最方便的方法当然是使用绝对定位了,也就是css中position:absolute


x轴坐标值也就是css中的left,y轴坐标值就是top,于是对pbootcms做了一个简单的二次开发,也就是用扩展标签自己创建了一个标签专门用于调出内容字段的x,y值。


下面看具体代码:

// 测试扩展单个标签
    private function test()
    {
        $this->content = str_replace('{pboot:userip}', get_user_ip(), $this->content);
    }
    
// 分割字符串为数组  复制该函数代码
private function fenge()
{
    $pattern = '/\{fenge\s?\(([^\}]+)\)\}/';
    if (preg_match($pattern, $this->content, $matches)){
        $this->content = preg_replace_callback(
            $pattern,
            function($matches){
                $arr = explode(",",$matches[1]);
                $x = $arr[0].'rem';
                $y = $arr[1].'rem';
                $str_point = "style=left:{$x};top:{$y}";
                return $str_point;

            },$this->content);
    }

}


将以上代码复制到/apps/home/controller/ExtLabelController.php 文件里

具体的实现方法:


1、在后台->全局配置->模型字段->扩展字段新增,添加一个字段dingwei定位,

2、在发布文章时这个字段就填写x,y轴坐标,如图:单位是rem不用写


PbootCMS高级应用技巧:用扩展标签制作地图(x,y)轴坐标定位


前端模板调用代码如下:


<div class="item_list" {fenge([list:ext_dingwei])}>
	//此处省略代码
</div>


PbootCMS扩展标签的高级应用技巧



以上就是PbootCMS扩展标签的高级应用技巧了,更多PbootCMS教程请继续关注小郭博客!推荐一个pbootcms建站交流qq群:1050398557




热门标签 更多