Twig 带if条件的循环中循环

Twig 带if条件的循环中循环,twig,craftcms,Twig,Craftcms,嗨,我是编程新手,我正在努力用if条件为这个循环中的循环计算逻辑。我将非常感谢您提供的任何建议,我已经花了数小时尝试这个循环的不同组合,以使其工作,但不断遇到问题 我有两个不同的部分设置: 训练: “训练”部分是一个具有预设置条目的频道,其中包含有关训练名称的数据,该名称为与该训练相关联的用户、日和周字段选择前端表单 一旦用户填写前端表单 工作历史部分: 它会在另一个频道workoutHistory中创建一个新条目。它会创建一个条目,其中附加了训练名称、用户、日期、周末以及用户刚刚完成的结果 我

嗨,我是编程新手,我正在努力用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(),但似乎什么都不起作用

循环显示同一条目的多个版本

两种类型的条目都会显示

我希望这一切都有意义。谢谢你的建议