nystudio107 / recipe
一个综合的Craft CMS FieldType,包括度量衡转换、份额计算和JSON-LD微数据支持
Requires
- composer/installers: ~1.0
This package is auto-updated.
Last update: 2024-08-29 03:37:33 UTC
README
已弃用
此Craft CMS 2.x插件不再受支持,但它完全功能正常,您可以继续使用它。许可协议还允许您将其分支,并根据需要对其进行修改,以支持旧版本。
此插件的Craft CMS 3.x版本可在此处找到: craft-recipe,并且也可以通过Craft CP中的Craft插件商店进行安装。
Craft CMS的食谱插件
一个Craft CMS的食谱FieldType,包括微数据支持
相关: Craft 3.x的食谱
安装
要安装Recipe,请按照以下步骤操作
- 下载并解压文件,将
recipe
目录放入您的craft/plugins
目录 - -OR- 直接在您的
craft/plugins
文件夹中执行git clone https://github.com/nystudio107/recipe.git
。然后您可以使用git pull
更新它 - -OR- 使用Composer通过
composer require nystudio107/recipe
进行安装 - 在Craft控制面板的“设置”>“插件”下安装插件
- 插件文件夹应命名为
recipe
,以便Craft能够识别它。GitHub最近开始将-master
(分支名称)附加到zip文件下载的文件夹名称中。
Recipe在Craft 2.4.x、Craft 2.5.x和Craft 2.6.x上工作。
Recipe概述
Recipe为Craft CMS添加了一个“食谱”FieldType,您可以将它添加到任何分区中。
它包含创建食谱所需的一切,包括配料、食谱照片、步骤、烹饪时间、评分,甚至营养成分信息。它处理英制和公制单位之间的转换,输出英制的“漂亮”分数,并且可以输出任何数量份量的正确配料份额。
如果已安装SEOmatic插件,Recipe还将为您生成食谱的JSON-LD微数据,这允许它在搜索结果的Google知识面板中显示。
我们希望Recipe使您更容易创建和分享美味的食谱!
配置Recipe
通过设置->字段创建一个食谱字段,并可以设置用于食谱图片的资产来源
使用Recipe
创建食谱字段后,将其添加到分区条目类型,并填写适当的食谱信息。除了名称外,不需要其他任何内容,因此您可以随意留空不使用的内容。
在模板中使用Recipe
要在模板中显示食谱信息,只需使用熟悉的Twig代码。假设您的食谱字段的字段处理程序是someRecipe
;这是您输出有关该字段信息的代码。
基本信息
{{ entry.someRecipe.name }}
- 食谱名称{{ entry.someRecipe.description }}
- 食谱描述{{ entry.someRecipe.skill }}
- 制作此食谱所需的技能水平{{ entry.someRecipe.serves }}
- 此食谱可供多少人食用{{ entry.someRecipe.getImageUrl() }}
- 食谱图片的URL{{ entry.someRecipe.prepTime }}
- 食谱准备时间(分钟){{ entry.someRecipe.cookTime }}
- 食谱烹饪时间(分钟){{ entry.someRecipe.totalTime }}
- 食谱总时间(分钟)
食材
要列出食材,请执行以下操作(添加任何所需的输出标记)
{% set ingredients = entry.someRecipe.getIngredients('imperial', 1) %}
{% for ingredient in ingredients %}
{{ ingredient }}
{% endfor %}
第一个参数是你想要使用的单位('imperial'
或 'metric'
)。第二个参数是你想要为食谱份数大小设置的用餐人数。如果没有传递这些参数,默认将使用 'imperial'
和食谱中的服务大小,例如:entry.someRecipe.getIngredients()
步骤
要列出步骤,请执行以下操作(添加任何所需的输出标记)
{% set directions = entry.someRecipe.getDirections() %}
{% for direction in directions %}
{{ direction }}
{% endfor %}
评分
要列出评分,请执行以下操作(添加任何所需的输出标记)
{% set ratings = entry.someRecipe.ratings %}
{% for rating in ratings %}
{{ rating.rating }} {{ rating.review }} {{ rating.author }}
{% endfor %}
为此食谱的聚合(平均)评分,请执行以下操作(添加任何所需的输出标记)
{{ entry.someRecipe.getAggregateRating() }}
营养成分信息
要输出食谱的营养成分信息,请执行以下操作
{{ entry.someRecipe.servingSize }}
- 份量,以体积或质量单位表示{{ entry.someRecipe.calories }}
- 每份的卡路里数{{ entry.someRecipe.carbohydrateContent }}
- 每份的碳水化合物克数{{ entry.someRecipe.cholesterolContent }}
- 每份的胆固醇毫克数{{ entry.someRecipe.fatContent }}
- 每份的脂肪克数{{ entry.someRecipe.fiberContent }}
- 每份的纤维克数{{ entry.someRecipe.proteinContent }}
- 每份的蛋白质克数{{ entry.someRecipe.saturatedFatContent }}
- 每份的饱和脂肪克数{{ entry.someRecipe.sodiumContent }}
- 每份的钠毫克数{{ entry.someRecipe.sugarContent }}
- 每份的糖克数{{ entry.someRecipe.transFatContent }}
- 每份的反式脂肪克数{{ entry.someRecipe.unsaturatedFatContent }}
- 每份的不饱和脂肪克数
图片资产ID
如果您需要对食谱图片进行任何进一步的处理(例如转换),您可以获取它的资产ID
{{ entry.someRecipe.imageId }}
- 食谱图片的资产ID
渲染Recipe JSON-LD微数据
如果您已安装SEOmatic插件,食谱可以为您渲染JSON-LD微数据,这允许它显示在Google知识面板中,以便在搜索结果中显示
{{ entry.someRecipe.renderRecipeJSONLD() }}
食谱路线图
一些待办事项和潜在功能的想法
- 提供一个前端方法来添加评分
食谱变更日志
1.0.3 -- 2017.01.05
- [添加] 添加了对1/3、2/3和1/6分数的支持
- [改进] 更新了README.md
1.0.2 -- 2016.09.18
- [修复] 处理空食材列表而不会出错
- [修复] 处理空步骤而不会出错
- [改进] 更新了README.md
1.0.1 -- 2016.05.01
- [修复] 修复了食谱在Matrix字段中嵌入时的一个轻微问题
- [新增] 添加了 '技能水平' 字段
- [改进] 更新了README.md
1.0.0 -- 2016.05.01
- 初始发布
由 nystudio107 提供