站长百科 | 数字化技能提升教程 数字化时代生存宝典
首页
数字化百科
电子书
建站程序
开发
服务器
办公软件
开发教程
服务器教程
软件使用教程
运营教程
热门电子书
WordPress教程
宝塔面板教程
CSS教程
Shopify教程
导航
程序频道
推广频道
网赚频道
人物频道
网站程序
网页制作
云计算
服务器
CMS
论坛
网店
虚拟主机
cPanel
网址导航
WIKI使用导航
WIKI首页
最新资讯
网站程序
站长人物
页面分类
使用帮助
编辑测试
创建条目
网站地图
站长百科导航
站长百科
主机侦探
IDCtalk云说
跨境电商导航
WordPress啦
站长专题
网站推广
网站程序
网站赚钱
虚拟主机
cPanel
网址导航专题
云计算
微博营销
虚拟主机管理系统
开放平台
WIKI程序与应用
美国十大主机
编辑“
EZ Publish/EZ Publish 内容提取
”
人物百科
|
营销百科
|
网赚百科
|
站长工具
|
网站程序
|
域名主机
|
互联网公司
|
分类索引
跳转至:
导航
、
搜索
警告:
您没有登录。如果您做出任意编辑,您的IP地址将会公开可见。如果您
登录
或
创建
一个账户,您的编辑将归属于您的用户名,且将享受其他好处。
反垃圾检查。
不要
加入这个!
{{EZ Publish top}} == EZ Publish内容提取 == [[eZ Publish]] 中保存的信息可以用"fetch"模板操作符提取。这个操作符会调用模块的fetch 函数。它通常被用来调用content 模块以提取节点,对象等内容。fetch 操作符只能用于定义了fetch 函数的模块。以下的模型演示了fetch 操作符的语法。 fetch( <模块>, <函数>, <参数> ) [[Image:ezpublishNRTQ1.jpg]] 模块的fetch 函数和参数列表在模块的"function_definition.php“中定义,这个文件位于模块的目录中。 '''提取单个节点''' 下例演示了如何从[[数据库]]中提取单个节点。 <pre> {def $my_node=fetch( content, node, hash( node_id, 13 ) )} ... {undef} </pre> 上例要求eZ Publish 从content 模块中提取单个节点。只用到了一个参数,要提取的节点[[ID]]。这个操作符会返回一个"ezcontentobjecttreenode"对象,这个对象被设置到$my_node 变量中。这个变量可以用来提取节点与节点对象的信息。例如:可以提取对象的名称,属性和发布时间等。如果节点不可用/不存在或当前用户没有权限访问它,这操作符会返回FALSE。 '''提取多个节点''' 可以从提取某个节点下的多个节点。这可以通过用"list"替换"node"作为"fetch"操作符的第二个参数来达到。 下例演示了如何提取节点13 下的所有节点。 <pre> {def $my_node=fetch( content, list, hash( parent_node_id, 13 ) )} ... {undef} </pre> 这个操作符会返回一个"ezcontentobjecttreenode"对象的数组。"content"模块的"list" fetch 函数可以接受多个参数。这些参数是可选的且可以用来优化内容提取,例如:筛选特定的节点。下表揭示了一部分常用参数。 [[Image:ezpublishNRTQ2.jpg]] 下例演示了如何提取节点13 下最新的10 篇文章。 <pre> {def $my_node=fetch( content, list, hash( parent_node_id, 13, limit, 10, class_filter_type, include, class_filter_array, array( 'article' ) ) )} ... {undef} </pre> == 输出节点与对象数据 == 只要一个代表某个节点的"ezcontentobjectreenode"对象在模板中可用,就可以用它来输出关于节点和节点对象的内容。以下内容演示了如何提取最常用的数据。 '''一般信息''' '''对象名''' {$node.name|wash} 对象名可以从节点直接访问(换言之,不需要用$node.object.name)。"wash"操作符确保输出不包含任何破坏[[HTML]] 的字符且/或序列。 '''对象最后修改日期/时间''' {$node.object.modified|l10n( 'shortdatetime' )} 因为修改时间是一个[[UNIX]] [[时间戳]],它必须被格式化后输出。可以用"l10n"操作符输出本地化的日期/时间。 '''对象属主的名称''' {$node.object.owner.name|wash} '''最后修改者的名称''' {$node.object.current.creator.name|wash()} '''对象的类名''' {$node.object.class_name|wash()} '''对象属性''' 可以通过"data_map"方法访问对象的属性。这个方法返回"ezcontentobjectattribute"对象的哈希表。每个对象代表一个属性。键值为属性标识符。下例演示了如何提取"first_name"属性。 {$node.object.data_map.first_name} 上例不产生任何输出,因为请求的数据需要被[[格式化]]。有两种方法输出属性的内容: • 原始输出(".output") • 格式化输出("attribute_view_gui"函数) 原始输出与格式化输出的区别在于格式化输出通过一个模板输出属性的内容。原始输出只是在同一个模板内简单的输出属性内容。永远应该用"attribute_view_gui“函数输出属性内容。原始输出只有在必要的情况下使用(例如:当用IF 语句检查某个属性的值的时候)。 '''原始输出''' 原始输出正如其定义一样:输出属性内保存的原始内容。实际的语法取决于属性的[[数据类型]]。大部分情况下,可以用".output"输出原始数据。 '''一般解决方案''' 下例演示了如何输出"my_attribute"的内容 {$node.object.data_map.my_attribute.content} '''[[XML]] 块''' 下例演示了如何输出一个XML 块"my_xml"的内容。 {$node.object.data_map.my_xml.content.output.output_text} '''图片''' 下例演示了如何输出"my_image"内保存的图片。 <pre><img src="{$node.object.data_map.my_image.content[image_size].full_path}" ... /></pre> '''格式化输出''' 每种数据类型都有一套用于不同上下文中显示内容的模板。每种数据类型至少有两种模板:"view"模板和"edit"模板。"view"模板用于显示属性内容,"edit"模板用于编辑数据。默认的数据类型模板位于"design/standard/templates/content/datatype"目录。 "attribute_view_gui"函数允许用数据类型的"view"模板来显示属性。下例演示了如何用这个函数。 {attribute_view_gui attribute=$node.object.data_map.name_of_any_attribute} 上例将会正确生成任何属性的内容(与数据类型无关)。 ==参考来源== *http://wenku.baidu.com/view/8cf795b665ce05087632138a.html *http://ez.no/eZPublish/New-Release [[category:EZ Publish|E]] {{EZ Publish}}
摘要:
请注意,您对站长百科的所有贡献都可能被其他贡献者编辑,修改或删除。如果您不希望您的文字被任意修改和再散布,请不要提交。
您同时也要向我们保证您所提交的内容是您自己所作,或得自一个不受版权保护或相似自由的来源(参阅
Wordpress-mediawiki:版权
的细节)。
未经许可,请勿提交受版权保护的作品!
取消
编辑帮助
(在新窗口中打开)
本页使用的模板:
模板:EZ Publish
(
编辑
)
模板:EZ Publish top
(
编辑
)