Preprocess function views_fields

Instrucciones

En el archivo .theme de tu tema personalizado, añade el código sustituyendo el valor por el nombre de tu tema en la función.

Código
MY_CUSTOM.THEME

/**
 * passing variables to view template
 *
 * @param $variables
 *
 * @throws \Drupal\Component\Plugin\Exception\InvalidPluginDefinitionException
 * @throws \Drupal\Component\Plugin\Exception\PluginNotFoundException
 */
function TUTEMA_preprocess_views_view_fields(&$variables) {
  if (isset($variables['view'])) {
    $view = $variables['view'];

    if ($view->id() == "pending_reviews" && $view->current_display == "page_1") {
      $result = $view->result;

      /**
       * @author or Logged detector
       */

      // Load the current user.
      $user = \Drupal\user\Entity\User::load(Drupal::currentUser()->id());
      $variables['gem_user'] = $user->id();


      //Custom Greetings Messages
      // $variables['greetings_user'] = $user->get('field_custom_greetings_message');
      $variables['greetings_user_0'] = $user->get('field_custom_greetings_message')[0]->value;
      $variables['greetings_user_1'] = $user->get('field_custom_greetings_message')[1]->value;
      $variables['greetings_user_2'] = $user->get('field_custom_greetings_message')[2]->value;

      //Custom Goodbye Messages
      // $variables['goodbye_user'] = $user->get('field_custom_goodby_message');
      $variables['goodbye_user_0'] = $user->get('field_custom_goodby_message')[0]->value;
      $variables['goodbye_user_1'] = $user->get('field_custom_goodby_message')[1]->value;
      $variables['goodbye_user_2'] = $user->get('field_custom_goodby_message')[2]->value;

      //Custom Signature
      // $variables['signature_user'] = $user->get('field_custom_electronic_signatur');
      $variables['signature_user_0'] = $user->get('field_custom_electronic_signatur')[0]->value;
      $variables['signature_user_1'] = $user->get('field_custom_electronic_signatur')[1]->value;


      //Hotel del usuario
      $current_user_hotel = $user ->get('field_hotel_name')->first()->getValue()['target_id'];

      $variables['current_user_hotel'] =  $user ->get('field_hotel_name')->first()->getValue()['target_id'];
      //ksm($current_user_hotel);


      /**
       * Descarga de Reviews y filtrado para enviarlas
       */
      // Load entities by their property values.
      $reviews_for_suggestions = \Drupal::entityTypeManager()
        ->getStorage('node')
        ->loadByProperties(['type' => 'review']);

      foreach ($reviews_for_suggestions as $review_for_suggestions) {

        for ($x = 0; $x <= count($reviews_for_suggestions); $x++) {
          //$check_suggestions = $review_for_suggestions->get('field_hotelname')->first()->getValue()['target_id'];
          $hotel_review =  $review_for_suggestions->get('field_hotelname')->first()->getValue()['target_id'];

          $variables['hotel_review'] = $review_for_suggestions->get('field_hotelname')->first()->getValue()['target_id'];
          //ksm($hotel_review);


          if($review_for_suggestions->get('field_new_proposal')[0]){
            $variables['new_proposal_0'] = $review_for_suggestions->get('field_new_proposal')[0]->value;
          }
          if($review_for_suggestions->get('field_new_proposal')[1]){
            $variables['new_proposal_1'] = $review_for_suggestions->get('field_new_proposal')[1]->value;
          }
          if($review_for_suggestions->get('field_new_proposal')[2]){
            $variables['new_proposal_2'] = $review_for_suggestions->get('field_new_proposal')[2]->value;
          }
          if($review_for_suggestions->get('field_new_proposal')[3]){
            $variables['new_proposal_3'] = $review_for_suggestions->get('field_new_proposal')[3]->value;
          }
          if($review_for_suggestions->get('field_new_proposal')[4]){
            $variables['new_proposal_4'] = $review_for_suggestions->get('field_new_proposal')[4]->value;
          }

        }
      }

    }
  }
}

 

VIEWS-VIEWS-FIELDS--MYVIEWNAME--PAGE.HTML.TWIG

{{ current_user_hotel|render|striptags|trim }}
{{ fields.field_hotelname.content|render|striptags|trim }}

{% if current_user_hotel|render|striptags|trim == fields.field_hotelname.content|render|striptags|trim %}

  <article {{ attributes.addClass(classes) }}>
    <div>
      <div class="new-suggestions-global">

        {# Primera Respuesta #}
        <div class="col-md-6 izq">
          <div class="review-env-global">
            <div class="review-top">
              <table class="table">
                <tr>
                  <th scope="col">
                    {% if fields.field_source.content|render|striptags|trim is not empty %}
                  <td><img src="./sites/default/files/{{ fields.field_source.content|render|striptags|trim }}_icon.png"></td>
                  <td><span class="review-source-name">{{ fields.field_source.content }}</span></td>
                  {% endif %}
                  </th>
                  {% if fields.field_published_date.content|render|striptags|trim is not empty %}
                    <th scope="col">{{ fields.field_published_date.content }}</th>
                  {% endif %}
                  <th scope="col">
                    {% if fields.field_rating_scale.content|render|striptags|trim is not empty %}
                  <td>{{ fields.field_rating_scale.content }}/10</td>
                  {% endif %}
                  <td>
                    {% if fields.field_classification.content|render|striptags|trim == "Positive" %}

                      <img src="./sites/default/files/ranking_optimo.png">
                    {% else %}
                      <img src="./sites/default/files/ranking_medio.png">
                    {% endif %}
                  </td>
                  </th>
                </tr>
              </table>
            </div>
            <div class="review-medio">
              {% if fields.field_reviewer.content|render|striptags|trim is not empty %}
                <span class="reviewer">{{ fields.field_reviewer.content }}</span>
              {% endif %}
              {% if fields.field_review_text.content|render|striptags|trim is not empty %}
                <div class="review-resume">
                  {{ fields.field_review_text.content|render|striptags|trim }}
                </div>
              {% endif %}
              <div id="sug-{{ fields.nid.content|render|striptags|trim }}" class="answers-proposal">
                <span>
                  {% if greetings_user_1 is not empty %}
                    {{ random([greetings_user_0, greetings_user_1, greetings_user_2]) }}
                  {% else %}
                    {{ greetings_user_0 }}
                  {% endif %}
                </span>
                {% if new_proposal_0 is not empty %}
                  <p>{{ new_proposal_0 }}</p>
                {% endif %}
                <p>
                  {% if goodbye_user_1 is not empty %}
                    {{ random([goodbye_user_0, goodbye_user_1, goodbye_user_2]) }}
                  {% else %}
                    {{ goodbye_user_0 }}
                  {% endif %}
                </p>
                <p>
                  {% if signature_user_1 is not empty %}
                    {{ random([signature_user_0, signature_user_1, signature_user_2]) }}
                  {% else %}
                    {{ signature_user_0 }}
                  {% endif %}
                </p>
                <div>
                </div>
              </div>
              <form name="sug-{{ fields.nid.content|render|striptags|trim }}" method="post" onsubmit="return finalsugg()">
                <input id="sug-{{ fields.nid.content|render|striptags|trim }}" type="text" name="finalsugg" value="sug-{{ fields.nid.content|render|striptags|trim }}">
                <input type="submit" value="Submit">
              </form>
              <div class="btn-copiar">

                <a id="btnSugCopy" href="{{ url('<current>') }}" class="btn btn-primary btn-copy"
                   onclick="CopyToClipboard('sug-{{ fields.nid.content|render|striptags|trim }}');">Copiar</a>
              </div>
            </div>
          </div>
        </div>


        {% if new_proposal_1 is not empty %}
          {# Sugeridas Ocultas #}

          <div class="col-md-6 izq ocultas">

            <a id="ver-todas" class="btn btn-default ver-todas-suggestions">Ver todas</a>
            <a id="ocultar-todas" class="btn btn-danger ocultar-todas-suggestions">Ocultar todas</a>


            <div id="suggestions-hide" class="suggestions-hide">
              <div class="resp-1 more-suggestions">
                <div id="sug2-{{ fields.nid.content|render|striptags|trim }}" class="answers-proposal more-proposal">
                <span>
                  {% if greetings_user_1 is not empty %}
                    {{ random([greetings_user_0, greetings_user_1, greetings_user_2]) }}
                  {% else %}
                    {{ greetings_user_0 }}
                  {% endif %}
                </span>
                  <p>{{ new_proposal_1 }}</p>
                  <p>
                    {% if goodbye_user_2 is not empty %}
                      {{ random([goodbye_user_0, goodbye_user_1, goodbye_user_2]) }}
                    {% else %}
                      {{ goodbye_user_0 }}
                    {% endif %}
                  </p>
                  {% if signature_user_1 is not empty %}
                    {{ random([signature_user_0, signature_user_1]) }}
                  {% else %}
                    {{ signature_user_0 }}
                  {% endif %}
                </div>
                <div class="btn-copiar">
                  <a id="btnSugCopy" type="submit" class="btn btn-primary btn-copy"
                         onclick="CopyToClipboard('sug2-{{ fields.nid.content|render|striptags|trim }}')">Copiar</a>
                </div>


                {# Tercera Opcion#}
                {% if new_proposal_2 is not empty %}
                  <div class="resp-2 more-suggestions">
                    <div id="sug3-{{ fields.nid.content|render|striptags|trim }}" class="answers-proposal more-proposal">
                   <span>
                    {% if greetings_user_1 is not empty %}
                      {{ random([greetings_user_0, greetings_user_1, greetings_user_2]) }}
                    {% else %}
                      {{ greetings_user_0 }}
                    {% endif %}
                  </span>
                      <p>{{ new_proposal_2 }}</p>
                      <p>
                        {% if goodbye_user_2 is not empty %}
                          {{ random([goodbye_user_0, goodbye_user_1, goodbye_user_2]) }}
                        {% else %}
                          {{ goodbye_user_0 }}
                        {% endif %}
                      </p>
                      {% if signature_user_1 is not empty %}
                        {{ random([signature_user_0, signature_user_1]) }}
                      {% else %}
                        {{ signature_user_0 }}
                      {% endif %}
                    </div>
                    <div class="btn-copiar">
                      <a id="btnSugCopy" class="btn btn-primary btn-copy" onclick="CopyToClipboard('sug3-{{ fields.nid.content|render|striptags|trim }}')">Copiar</a>
                    </div>
                  </div>
                {% endif %}

                {# Cuarta Opcion#}
                {% if new_proposal_3 is not empty %}
                  <div class="resp-2 more-suggestions">
                    <div id="sug4-{{ fields.nid.content|render|striptags|trim }}" class="answers-proposal more-proposal">
                    <span>
                      {% if greetings_user_1 is not empty %}
                        {{ random([greetings_user_0, greetings_user_1, greetings_user_2]) }}
                      {% else %}
                        {{ greetings_user_0 }}
                      {% endif %}
                  </span>
                      <p>{{ new_proposal_3 }}</p>
                      <p>
                        {% if goodbye_user_3 is not empty %}
                          {{ random([goodbye_user_0, goodbye_user_1, goodbye_user_2]) }}
                        {% else %}
                          {{ goodbye_user_0 }}
                        {% endif %}
                      </p>
                      {% if signature_user_1 is not empty %}
                        {{ random([signature_user_0, signature_user_1]) }}
                      {% else %}
                        {{ signature_user_0 }}
                      {% endif %}
                    </div>
                    <div class="btn-copiar">
                      <a id="btnSugCopy" class="btn btn-primary btn-copy" onclick="CopyToClipboard('sug4-{{ fields.nid.content|render|striptags|trim }}');">Copiar</a>
                    </div>
                  </div>
                {% endif %}
              </div>
            </div>

          </div>
        {% endif %}

      </div>
    </div>
  </article>

{% else %}

"Mensaje adicional"

{% endif %}

Snippet relacionados