Skip to main content
博客
div+css 博客
javascript 博客
vue 博客
php 博客
微信 博客
php
drupal
composer
thinkphp
onethink
laravel
Swoole
dedecms
magento
smarty
ecshop
zencart
joomla
discuz
wordpress
yii
微信
抖音
ci
weiphp
destoon
python
plone
apache
nginx
cache
memcache
redis
div+css
javascript
jquery
typescript
Vue.js
Amaze
zepto
react
underscore
backbone
angular
lodash
layui
js特效
vbscript
photoshop ai
sql
mysql
mssql
oracle
regular
node.js
腾讯开放平台
dreamweaver
linux
seo
app
asp及asp.net
flash
iis
java
mac
wap
windows
dos
其它
浏览器
网络
AD域 (exchange)
虚拟机
AC
简写翻译
欢迎各位兄弟 发布技术文章
这里的技术是共享的
个人技术网_前端_后台_php_div_css_linux_javascript_seo
搜索表单
搜索
用户登录
用户名
*
密码
*
重设密码
You are here
首页
自定义宏标记在dedecms中的应用
星期二, 2015-09-22 13:58 —
shiping1
自定义宏标记在dedecms中的应用:
自定义宏标记的作用:
可以将模板中多次出现的相同元素用一个自定义标记表示出来,从而达到,一次更改,全局更换的效果。辅助插件的广告管理也有相似的效果。
适用范围:
网页模板中多次出现的相同元素,例如:网站的
导航条
、网站的站点公告、网站的底部信息等,在我之前发布的几套模板中都运用到了自定义宏标记。
自定义宏标记的调用办法:
{dede:mytag name='标记名称' ismake='是否含板块代码(yes 或 no)' typeid='栏目ID'/}
1、name 标记名称,该项是必须的属性,以下 2、3是可选属性;
2、ismake 默认是 no 表示设定的纯HTML代码, yes 表示含板块标记的代码;
3、typeid 表示所属栏目的ID,默认为 0 ,表示所有栏目通用的显示内容,在列表和文档模板中,typeid默认是这个列表或文档本身的栏目ID。
下面来通过一个实例进行说明:
我有一个网站模板底部信息,其长度已经超出了系统可以设置的网站版权(cfg_powerby)的长度,但是我想实现一段代码,可以在不同模板(页面)中显示相同内容的效果。
我们就可以使用自定义宏标记来实现这个效果
如图进行设置:
然后我们回到模板制作的界面,将模板中的{dede:global name='cfg_powerby'/},替换为我们设置的自定义宏标记:
{dede:mytag name='footer'/},更新下,是不是已经变为我们设置的标记内容了啊。
当然,自定义宏标记里面也可以加入dedecms的标记内容,适合当前栏目的显示内容,不过需要在调用代码中将ismake设为yes才可以,也可以通过设置typeid使自定义宏标记在特定栏目中显示。
有人会问,我已经生成了很多页面了,现在想更改了一下自定义宏标记的内容,那岂不是要更改后重新再生成一遍,那样就不方便了。
其实柏拉图早就考虑到这点,在自定义宏标记中可以使用javascript调用,这样以来,只要改变一次就可以实现全局改变的效果。
具体操作:进入自定义标记管理,在相对应的标记管理项目中有JS调用这个选项,单击,dedecms自动生成调用该ID标记的
js代码
,例如<script src='/plus/mytag_js.php?aid=1' language='javascript'></script>
我们将刚才的{dede:mytag name='footer'/}用js替换掉,更新下,是不是还是原来的效果,我们再修改下标记的内容,怎么样?全局发生了变化。
怎么样,自定义宏标记内容强大吧,相信他的引入会给你的模板制作带来更好的效果。
来自
http://www.mianfeimoban.com/zhimengcms_jiaocheng/2159.html
DedeCMS自定义宏标记教程
自定义宏标记用于多个页面中需要调用相同的内容 便于同时更改多个页面的同一处内容 如:页头调用、页尾调用、导航调用等 包括现在很多朋友提到的dede现在加统计代码要分别在首页、列表页、内容页分别来加 我们用自定义宏标记就可以解决这个问题了
工具/原料
DedeCMS
步骤/方法
1、调用方法(请参考dede模板设计帮助文档)
【Mytag 标记】
功能说明:用于获取自定义宏标记的内容
适用范围:封面模板、列表模板、文档模板
(1)基本语法
{dede:mytag typeid='栏目ID' name='标记名称' ismake=''/}
(2)属性
[1] typeid = '数字' 表示栏目ID,默认为 0,在没有设定的栏目没有定义这个名称的标记,会按如下搜索方式来搜索“先向上查找父栏目 -> 通用标记(typeid=0)的同名标记”。
[2] name = '' 标记名称。
[3] ismake = yes|no 默认为 no 表示mytag里的内容不包含其它封面模板的标记,yes则表示标记内容含有其它封面模板标记。
以上三个属性,name为必须存在的属性,typeid和ismake为可选的属性(非必须)
typeid属性中,默认值为0,代表所有的栏目都通用的ID,在列表和文档模板中typeid默认为栏目和文档本身所在的栏目ID
ismake属性中,默认为no,表示代码中只是HTML代码而已,并没有包含其他标记的代码
2、使用说明
在织梦后台进入:模板管理---自定义宏标记 显示如下图点“增加一个标记”,进入标记增加界面,如图所属栏目:
这里可以在下拉菜单中选择你需要用到此标记的栏目,默认为所有栏目
标记名称:
header 这个“header”即相当于调用标签中的name属性,即 name="header"
时间限制:
永不过期 (除非更改否则一直有效)
开始时间和结束时间是在设置“在设置时间内有效”的时候才用的到的
如果使用永不过期则不用理会
正常显示内容:
头部需要调用的代码部分都放在这里,本教程举例为头部调用一个链接
过期显示内容:
这个也是在设置时间内有效才用的到的部分
以上内容设置完毕点击提交回到宏标记管理的页面,右侧有三个选项,如图如果您调用宏标记的页面不是很多,可以直接使用{dede:mytag name='header'/}放到模板相应位置进行调用
注意:修改过模板之后要重新生成下HTML页面
如果您需要调用的页面已经有很多,为了避免繁重的重新生成页面的精力
那么可以在上面的管理选项中使用JS调用
直接点击“JS调用”,系统会生成一段JS代码给你,下面有预览效果
只需直接将这段JS代码放到模板中相应位置即可
如本教程的例图:
3
3、最后关于ismake=‘yes’的说明:
自定义宏标记中并非只能放置简单的HTML代码
这其中也可以使用带有织梦标记的代码
如果您的自定义宏标记调用的内容中包含织梦的其他标记,只需要把值设为yes即可
来自
http://jingyan.baidu.com/article/36d6ed1f0846d41bcf488304.html
普通分类:
dedecms