HTML的逻辑是一种非常强大的方法,可以根据特定属性的值有条件地在主题中显示不同的元素。由于整个IPS4框架在逻辑表达式中都是可用的,因此可以使用不同类型的数据来确定应该显示什么。
在本指南中,我们将提供一系列你可能想要做的常见逻辑检查的例子。即使您需要的表达式没有在这里列出,它也应该为您编写自己的表达式提供一个良好的起点。
逻辑回顾
让我们快速回顾一下HTML Logic的工作原理。要获得更完整的教程,请务必通读模板的语法指南。
在IPS4中,逻辑检查使用特殊的{{如果}},{{其他}}和{{elseif}}标签。与标准编程逻辑一样,如果表达式的结果是真正的,则执行其中的代码块。如果它是假,它不是(如果有其他的或elseif块,它被测试为真正的结果相反)。因此,模板中的逻辑块可能是这样的:
{{如果成员。member_id = = 3}}<!——如果成员ID为3,则显示——>{{elseif成员。member_id = = 9}}<!——但是如果成员的ID是9,则会显示——>{{其他}}<!——如果成员不是ID 3或ID 9,则显示——>{{endif}}
如果您需要帮助构建逻辑检查,请检查自定义资源论坛.
的例子。我想……
检查用户是否登录
{{如果member.member_id}}<!——这将显示成员是否已登录——>{{endif}}
检查用户是否不是登录
{{如果! member.member_id}}<!——这将显示用户是否是访客——>{{endif}}
检查用户的ID是否为x、y或z中的一个
你可以检查任意多的值;只要向数组中添加更多的数字。
{{如果in_array(成员。Member_id, array(5, 28, 472))}}<!——显示成员的ID是5、28还是472{{endif}}
检查用户是否在组中x
在哪里x为组号。注意,这还检查次要成员组。
{{如果member.inGroup (x)}}<!——显示成员是否在组'x'中{{endif}}
检查用户是否有超过x的帖子
在IPS4中,所有应用程序中的所有内容都被视为“帖子”。
{{如果成员。member_posts > 3}}<!-显示成员是否有超过3个帖子->{{endif}}
检查用户是否有少于x的帖子
在IPS4中,所有应用程序中的所有内容都被视为“帖子”。
{{如果成员。member_posts < 3}}<!-显示成员是否有少于3个帖子->{{endif}}
检查用户是否为管理员用户
注意,这还检查用户的辅助成员组是否具有管理权限。
{{如果member.isAdmin ()}}<!——显示用户是否是管理员{{endif}}
检查用户是否被禁止
{{如果member.isBanned ()}}<!-显示用户是否被禁止->{{endif}}
检查当前页面是否是应用程序的一部分x
您需要检查应用程序密钥。大多数是显而易见的(例如:论坛是论坛应用程序),但也有一些其他需要注意的。对于自定义/第三方应用程序,询问作者他们使用的是哪个应用程序密钥。
- 核心=任何不属于其他应用程序的系统页面,例如搜索,登录/注册,配置文件等。
- cms=页
- 联系=商务
{{如果请求。应用= =“论坛”}}<!-显示用户是否正在查看任何页面的'论坛'应用程序->{{endif}}
检查系统设置是否有值x
您可以检查系统设置是否有给定的值,尽管您需要知道设置键后端使用。值可能不容易检查,这取决于它们的类型-如果您不确定如何检查特定的设置,请咨询我们的定制资源论坛。
{{如果settings.auto_polling_enabled}}<!——显示auto_polling_enabled设置是否为true(即enabled{{endif}}
检查一个模板中的变量是否有值x
IPS4中的模板位可以从后端代码接收一个或多个变量。您可以在模板中检查这些值,以便根据这些值做一些事情。这只在您要检查的变量被传递到的模板中工作——它们不会被继承。
{{if $myVariable == 'some_value'}}<!——显示$myVariable是否等于'some_value{{endif}}
检查当前论坛是否为论坛IDx
在论坛应用程序中,你可以检查当前页面是否显示了带有ID的论坛x
{{如果请求。App == '论坛' &&请求。模块== '论坛' &&请求。id = = 3}}<!-显示用户是否在论坛应用程序,查看一个论坛与ID 3 ->{{endif}}
.
报告指南