站长百科 | 数字化技能提升教程 数字化时代生存宝典
首页
数字化百科
电子书
建站程序
开发
服务器
办公软件
开发教程
服务器教程
软件使用教程
运营教程
热门电子书
WordPress教程
宝塔面板教程
CSS教程
Shopify教程
导航
程序频道
推广频道
网赚频道
人物频道
网站程序
网页制作
云计算
服务器
CMS
论坛
网店
虚拟主机
cPanel
网址导航
WIKI使用导航
WIKI首页
最新资讯
网站程序
站长人物
页面分类
使用帮助
编辑测试
创建条目
网站地图
站长百科导航
站长百科
主机侦探
IDCtalk云说
跨境电商导航
WordPress啦
站长专题
网站推广
网站程序
网站赚钱
虚拟主机
cPanel
网址导航专题
云计算
微博营销
虚拟主机管理系统
开放平台
WIKI程序与应用
美国十大主机
编辑“
CMS Made Simple/用户定义的标签
”
人物百科
|
营销百科
|
网赚百科
|
站长工具
|
网站程序
|
域名主机
|
互联网公司
|
分类索引
跳转至:
导航
、
搜索
警告:
您没有登录。如果您做出任意编辑,您的IP地址将会公开可见。如果您
登录
或
创建
一个账户,您的编辑将归属于您的用户名,且将享受其他好处。
反垃圾检查。
不要
加入这个!
{{CMS Made Simple top}} User Defined Tags用户自定义标签,提供了一种非常简单的方式来向你的站点添加[[PHP]]代码。利用它,可以非常简单地创建一个新的标签,然后将PHP代码粘贴到<? 和 ?>之间。然后smarty就可以通过标签{tag:name}来调用该标签; 提示:如果你喜欢用一个外部的编辑器来编辑的的代码,那么在编辑的时候php标签会高亮显示,那么注意保存的时候没有什么突出显示的错误; '''标签的一些参数:''' 你可以将下面这些参数传递到你定义的标签中,例如tag{image_link src='hedgehog'}: echo '<a href="' . $params['src'] . '.jpg" target="_blank">'; echo '<img src="t_' . $params['src'] . '.jpg"></a>'; ==怎样创建一个用户自定义标签== #登录到后台,点击顶部下拉菜单中的“Extension/User Defined Tags”; #点击页面底部的“Add User Definded Tag”按钮; #在“Name”字段的文本框中输入标签的名称(只能包含字母、下划线、数字),这个标签可以在创建页面的时候使用; #在“Code”文本框中输入php代码,这样标签将会在页面被请求的时候替换成代码中设置的(详情,请继续向下阅读) #点击“Submit”按钮,提交; ==你的第一个UDT== 根据上面的步骤,在“name”中输入“helloworld”(不含引号),然后在“Code”添加下行代码: <nowiki> echo 'Hello World!';</nowiki> 点击“submit”提交; 下面测试一下我们所创建的标签怎么使用: 新建一个页面,在 Content/Page中 “Add Content”,在正文body中输入“{helloworld}“(不含引号),然后预览,你不会看到{helloworld},而是看到“helloworld“; '''echo'''在php中的作用就是输入其后面双引号里的内容,所以我们可以利用它来天加HTML、甚至DHTML或者Javascript对象。 试试下面的代码,点击刚才我们新建的标签,重新编辑,在其“code”文本框中输入下面代码: <nowiki> echo '<h3>Hello World!</h3>';</nowiki> 然后同样使用上述的方法测试一下重新编辑后的这个标签,看看是什么效果。 ==使用UDT参数== 但是,不可能全部使用[[HTML]]文本,为了解决这个问题,我们就需要使用UDT的参数了。参数可以让你具体设置某一标签,举个例子,现在我们想向一个叫BOB的人问好,可以使用下面代码: <nowiki>echo '<h3>Hello ' . $params['name'] . '!</h3>';</nowiki> 这样就为创建的标签添加了一个“name”参数,现在我们在测试使用这个标签的时候,就需要这样来引用,"{helloworld name='Bob'}" ,这样在页面创建预览就会显示:'''Hello Bob!''' ==将页面的内容作为一个参数进行传递== 在用户自定义的标签中可以将页面内容作为一个参数来访问。 在你的模板中: {content assign=pagecontent} {table_of_contents thepagecontent="$pagecontent"} 在你的用户自定义标签中,命名为“table_of_contents”: echo $params['thepagecontent']; // 显示页面内容. ==怎样从content_id中获得URL== 假设你的页面conten_id的变量名为$page_content_id $gCms = cmsms(); //global $gCms; $hm =& $gCms->GetHierarchyManager(); $curnode =& $hm->getNodeById($page_content_id); $curcontent =& $curnode->GetContent(); echo 'Page URL: ' . $curcontent->GetURL(); ==怎样从一个用户自定义标签来执行Smarty标签== 你可以这样做: $gCms = cmsms(); //global $gCms; $smarty = &$gCms->GetSmarty(); $smarty_data = "{menu}"; $smarty->_compile_source('temporary template', $smarty_data, $_compiled ); @ob_start(); $smarty->_eval('?>' . $_compiled); $_contents = @ob_get_contents(); @ob_end_clean(); echo $_contents; 下面的代码,则让你可以管理CMSMS对应的多个域名; $gCms = cmsms(); //global $gCms; $smarty = &$gCms->GetSmarty(); $url = $_SERVER['REQUEST_URI']; if(eregi('domain1',$url)) { $smarty_data = "{menu template='cssmenu.tpl'}"; } else if(eregi('domain2',$url)) { $smarty_data = "{menu template='cssmenu2.tpl'}"; } $smarty->_compile_source('temporary template', $smarty_data, $_compiled ); @ob_start(); $smarty->_eval('?>' . $_compiled); $_contents = @ob_get_contents(); @ob_end_clean(); echo $_contents; ==怎样向你的页面以及模板提供UDT中的变量== 有些时候,你需要向你的页面或者是模板提供经处理过的信息,通过UDT中的PHP变量。那么,首先我们添加一个新的UDT,例如,命名为“Var”,然后在“code”代码中添加下面代码: $gCms = cmsms(); //global $gCms; $smarty = &$gCms->GetSmarty(); $foo= "test"; // Variable you want to provide $smarty->assign('foo', $foo); // make variable "foo" visible for CMSms 现在你就可以通过Smarty在页面或者模板中使用这个变量了: {Var} {* Call the UDT "Var" before using its variable(s) *} <p>The content of the variable "foo" is {$foo}.</p> 然后页面将会输出: The content of the variable "foo" is test. ==参考来源== *[http://wiki.cmsmadesimple.org/index.php/User_Handbook/Admin_Panel/Extensions/User_Defined_Tags 参考来源] {{CMS Made Simple}} [[category:CMS Made Simple]]
摘要:
请注意,您对站长百科的所有贡献都可能被其他贡献者编辑,修改或删除。如果您不希望您的文字被任意修改和再散布,请不要提交。
您同时也要向我们保证您所提交的内容是您自己所作,或得自一个不受版权保护或相似自由的来源(参阅
Wordpress-mediawiki:版权
的细节)。
未经许可,请勿提交受版权保护的作品!
取消
编辑帮助
(在新窗口中打开)
本页使用的模板:
模板:CMS Made Simple
(
编辑
)
模板:CMS Made Simple top
(
编辑
)