cqfdev / tags-module
Requires
- thelia/installer: ~1.1
README
==en_US==
标签
此模块允许您向产品、分类、内容、文件夹、图片和文档添加一个或多个标签。您可以使用此模块的循环轻松找到与标签关联的对象。
例如,而不是在您的模板中使用
{loop type="content" name="my-specific-content" id=12} ... {/loop}
您可以将ID为12的内容标记为'my-special-content'并使用
{loop type="tags" tag="my-special-content"}
{loop type="content" name="my-specific-content" id=$SOURCE_ID} ... {/loop}
{/loop}
这样,您可以避免在代码中放置硬编码的ID。这是这些标签的可能用途之一,但肯定还有更多。
Smarty扩展允许您在模板中确定对象是否具有标签
{if {has_tag id=12 source='content' tag="my-special-content"}}
The content ID=12 has the "my-special-content" tag}
{/if}
标准循环扩展
自模块版本1.1起,您可以直接在循环中使用参数tag product
、content
、folder
、category
和 brand
。这样就可以节省一个请求!
{loop type="content" name="my-specific-content" tag='my-special-content'} ... {/loop}
参数tag可以取一个或多个值,因此您可以找到带有多个标签的对象
{loop type="product" name="my-specific-product" tag='my-tag-1,mytag-2,...'} ... {/loop}
您可以使用参数tag_match_mode
指定对标签执行的比较类型,该参数可以取以下值
exact
(默认值):循环搜索与请求的标签完全相同的标签。partial
:循环查找包含请求的所有或部分标签的对象,例如,如果请求标签'rou',循环将找到具有标签'rou'、'rough'或'trouble'的对象。
后台
模块在后台工具菜单中添加了“标签”条目,可让您访问产品、分类、内容、文件夹、图片和文档上定义的所有标签的列表。
循环标签
参数
输出变量
示例
获取类型为my-special-content
的内容
{loop type="tags" tag="my-special-content"}
{loop type="content" name="my-specific-content" id=$SOURCE_ID} ... {/loop}
{/loop}
Smarty扩展has_tag
如果对象具有指定的标签,则此Smarty扩展返回true
,否则返回false
。
{has_tag id=12 source='product' tag='a_tag,another_tag'}
==fr_FR==
标签
Ce module permet d'ajouter un ou plusieurs tags à vos produits, catégories, contenus, dossiers, marques, images et documents. Vous pouvez alors retrouver facilement l'objet associé à un tag à l'aide de la boucle du module.
Typiquement, au lieu d'utiliser dans vos templates
{loop type="content" name="my-specific-content" id=12} ... {/loop}
vous pouvez tagger le contenu qui a l'ID 12 avec 'mon-contenu-special' et utiliser
{loop type="tags" tag="mon-contenu-special"}
{loop type="content" name="my-specific-content" id=$SOURCE_ID} ... {/loop}
{/loop}
Vous évitez ainsi de mettre des ID en dur dans votre code. C'est l'une des utilisations possible de ces tags, mais il en existe surement bien d'autres.
Une extension Smarty permet de déterminer si un objet possède un tag
{if {has_tag id=12 source='content' tag="mon-contenu-special"}}
Le contenu ID=12 possède le tag "mon-contenu-special"}
{/if}
Extension des boucles standard
À partir de la version 1.1 du module, vous pouvez utiliser directement le paramètre tag
dans les boucles product
、content
、folder
、category
et brand
。C'est une requête d'économisée !
{loop type="content" name="my-specific-content" tag='mon-contenu-special'} ... {/loop}
Le paramètre tag peut prendre un ou plusieurs valeurs, vous pouvez donc remonter les objets désignés par plusieurs tags
{loop type="product" name="my-specific-product" tag='mon-tag-1,montag-2,...'} ... {/loop}
Vous pouvez indiquer le type de comparaison qui sera effectuée sur les tags avec le paramètre tag_match_mode
,qui peut prendre les valeurs suivantes
exact
(par défaut) : la boucle recherche les tags qui sont exactement identiques aux tags demandéspartial
: la boucle recherche les objets qui contiennent tout ou une partie des tags demandés, par exemple si le tag 'rou' est demandé, la boucle remontera les objets possédant les tags 'rou', 'rouge' ou 'trou'
后台
该模块在后台管理工具菜单中添加了一个“标签”入口,让您可以访问所有产品、类别、内容、文件夹、图片和文档上定义的标签列表。
标签循环
参数
返回的变量
示例
为了检索具有标签mon-contenu-special
的内容
{loop type="tags" tag="mon-contenu-special"}
{loop type="content" name="my-specific-content" id=$SOURCE_ID} ... {/loop}
{/loop}
Smarty 扩展 has_tag
这个Smarty扩展允许确定一个对象是否具有请求的标签。如果是,则返回true
,否则返回`false`。
{has_tag id=12 source='product' tag='un_tag,un_autre_tag'}