Twig 带if条件的循环中循环
嗨,我是编程新手,我正在努力用if条件为这个循环中的循环计算逻辑。我将非常感谢您提供的任何建议,我已经花了数小时尝试这个循环的不同组合,以使其工作,但不断遇到问题 我有两个不同的部分设置: 训练: “训练”部分是一个具有预设置条目的频道,其中包含有关训练名称的数据,该名称为与该训练相关联的用户、日和周字段选择前端表单 一旦用户填写前端表单 工作历史部分: 它会在另一个频道workoutHistory中创建一个新条目。它会创建一个条目,其中附加了训练名称、用户、日期、周末以及用户刚刚完成的结果 我想要实现的是: 如果存在与用户显示的日期、周末和训练名称(而非原始训练)相关的训练历史提交,则循环所有训练Twig 带if条件的循环中循环,twig,craftcms,Twig,Craftcms,嗨,我是编程新手,我正在努力用if条件为这个循环中的循环计算逻辑。我将非常感谢您提供的任何建议,我已经花了数小时尝试这个循环的不同组合,以使其工作,但不断遇到问题 我有两个不同的部分设置: 训练: “训练”部分是一个具有预设置条目的频道,其中包含有关训练名称的数据,该名称为与该训练相关联的用户、日和周字段选择前端表单 一旦用户填写前端表单 工作历史部分: 它会在另一个频道workoutHistory中创建一个新条目。它会创建一个条目,其中附加了训练名称、用户、日期、周末以及用户刚刚完成的结果 我
{% extends "_layouts/main" %}
{% block main %}
{# Create a user query with the 'group' parameter #}
{% set myUserQuery = craft.users() %}
{% set workoutQuery = craft.entries()
.section('workouts')
.all() %}
{% set workouthistoryQuery = craft.entries()
.section('workoutHistory')
.relatedTo(currentUser.id)
.all() %}
{# Fetch the users #}
{% set users = myUserQuery.all() %}
<body class="bg-light">
<section class="bg-light mb-3 border-bottom">
<div class="container bg-light text-light">
<div class="row d-flex justify-content-center">
<div class="col-12 text-center pt-4">
{% for user in users %}
{% if currentUser | length %}
<h4 class="fw-bold text-dark text-uppercase">{{ user.name }}</h4>
{% else %}
<h4 class="fw-bold text-dark text-uppercase">Please Login</h4>{% endif %}
{% endfor %}
</div>
<div class="col-12 text-center pt-2 pb-3">
{% if currentUser | length %}
<img alt="Avatar" src="{{ currentUser.photo.url() }}" class=" bd-placeholder-img rounded-circle" width="140" height="140" />
{% endif %}
</div>
</div>
</div>
</section>
{# Fetch the history for workouts #}
{% set workoutHistory = workouthistoryQuery %}
{% set workouts = workoutQuery %}
<div class="container my-5">
<h5 class="py-2 text-primary">Upcoming Workouts</h5>
{% for event in workoutHistory %}
{% for workout in workouts %}
{% set completeCard %}
<div class="col-12">
<div class="row g-0 bg-white border rounded overflow-hidden flex-md-row shadow-sm h-md-250 position-relative mb-2">
<a href="{{ event.url }}" class="text-decoration-none d-flex">
<div class="col-10 p-4 d-flex flex-column position-static">
<p class="mb-2 text-primary text-capitalize">Your Results: {{ event.dayNo }} in {{ event.weekNo.label }}</p>
<h4 class="mb-2 text-dark fw-bold">{{ event.title }} Results</h4>
</div>
<div class="col-2 align-self-center justify-content-center">
<i class="bi bi-check-circle text-primary fs-2"></i>
</div>
</div>
</div></a>
{% endset %}
{% set incompleteCard %}
<div class="col-12">
<div class="row g-0 bg-white border rounded overflow-hidden flex-md-row shadow-sm h-md-250 position-relative mb-2">
<a href="{{ workout.Url }}" class="text-decoration-none d-flex">
<div class="col-10 p-4 d-flex flex-column position-static">
<p class="mb-2 text-primary text-capitalize">Upcoming Training | {{ workout.dayNo }} | {{ workout.weekNo.label }}</p>
<h4 class="mb-2 text-dark fw-bold">{{ workout.title }}</h4>
</div>
<div class="col-2 align-self-center justify-content-center">
<i class="bi bi-circle text-primary fs-2"></i>
</div>
</div>
</div></a>
{% endset %}
{% if workout.dayNo = event.dayNo %}
{{ incompleteCard }}
{% else %}
{{ completeCard }}
{% endif %}
{% endfor %}{% endfor %}
</div>
</div>
</body>
</html>
{% endblock %}
{%扩展“\u布局/main”%}
{%block main%}
{#使用'group'参数创建用户查询}
{%set myUserQuery=craft.users()%}
{%set workoutQuery=craft.entries()
.部分(“训练”)
.all()%}
{%set workouthistoryQuery=craft.entries()
.节(“工作历史记录”)
.relatedTo(currentUser.id)
.all()%}
{#获取用户#}
{%set users=myUserQuery.all()%}
{users%%中的用户为%s}
{%if currentUser | length%}
{{user.name}
{%else%}
请登录{%endif%}
{%endfor%}
{%if currentUser | length%}
{%endif%}
{获取训练的历史记录}
{%set-WorkAuthHistory=WorkAuthHistoryQuery%}
{%set workouts=workoutQuery%}
即将进行的训练
{WorkAuthHistory%中事件的%s}
{%用于训练中的训练%}
{%set completeCard%}
{%endset%}
{%设置不完整卡%}
{%endset%}
{%if workout.dayNo=event.dayNo%}
{{不完全卡片}
{%else%}
{{completeCard}}
{%endif%}
{%endfor%}{%endfor%}
{%endblock%}
我一直面临的问题。
在某些情况下,我会关闭逻辑,但一旦事件没有条目存在,循环就不会显示任何内容。我尝试使用defined,而不是defined,.exists(),但似乎什么都不起作用
循环显示同一条目的多个版本
两种类型的条目都会显示
我希望这一切都有意义。谢谢你的建议