it-swarm-eu.dev

Jak přidám značky <div> na výstup ze seznamu zobrazení?

Výstup pohledu, který používám, obsahuje následující kód.

<li class="views-row views-row-1 views-row-odd views-row-first">  
  <div class="views-field-field-cimg-fid">
    <span class="field-content">....</span>
  </div>

  <div class="views-field-field-yma-value">
    <span class="field-content">...</span>
  </div>

  <div class="views-field-field-price-value">
    <span class="field-content">....</span>
  </div>

  <div class="views-field-changed">
    <span class="field-content">....</div></span>
  </div>
</li>

Chci přidat <div id="test">....</div> kolem následujícího snippet.to seskupte dvě pole

   <div id="test">
    <div class="views-field-field-yma-value">
      <span class="field-content">...</span>
    </div>

    <div class="views-field-field-price-value">
      <span class="field-content">....</span>
    </div>
      </div>

smyčka

 <?php foreach ($fields as $id => $field): ?>
  <?php if (!empty($field->separator)): ?>
    <?php print $field->separator; ?>
  <?php endif; ?>

  <<?php print $field->inline_html;?> class="views-field-<?php print $field->class; ?>">
    <?php if ($field->label): ?>
      <label class="views-label-<?php print $field->class; ?>">
        <?php print $field->label; ?>:
      </label>
    <?php endif; ?>
      <?php
      // $field->element_type is either SPAN or DIV depending upon whether or not
      // the field is a 'block' element type or 'inline' element type.
      ?>
      <<?php print $field->element_type; ?> class="field-content"><?php print $field->content; ?></<?php print $field->element_type; ?>>
  </<?php print $field->inline_html;?>>
<?php endforeach; ?>

jak přidat smyčky do smyčky?

3
enjoylife

Na obrazovce Upravit zobrazení klikněte na Upřesnit. Na samém dně toho najdete kousek nazvaný: Téma: Informace. Klikněte na odkaz Informace a objeví se nové okno, které vám ukáže přepsání motivu pro pohled. Každá kategorie mění různé části pohledu.

Všechny názvy souborů uvedené u každého typu budou zobrazovat dostupná jména souborů, která by mohla být použita k přepsání tohoto pohledu, v pořadí od nejméně specifických po nejkonkrétnější. Pokud tedy vyberete první, pravděpodobně přepíše všechna vaše zobrazení, zatímco pokud vyberete poslední, přepíše toto zobrazení pouze v určitém zobrazení.

Jakmile vyberete, co chcete přepsat, klikněte na odkaz a zkopírujte zde zobrazený kód do schránky. Poté přejděte do adresáře motivů a vytvořte soubor s názvem souboru, který jste vybrali dříve, a vložte do kódu, který jste zkopírovali. Nyní stačí přidat <div> značky, které chcete, kdekoli chcete.

Budete muset kliknout na tlačítko „Znovu prohledat soubory šablon“ pro Drupal), abyste si vybrali nový soubor s přepsáním motivu. Pohledy ukazují, který z nich použije pro pohled tím, že vloží ten, který bude použití tučně.

Edit: Když jsem to psal, procházel jsem kroky pro Drupal 7, ale věřím, že kroky jsou velmi podobné pro Drupal) = 6.

Další úprava: Z kódu, který jste vložili, vypadá to, že by bylo nejvhodnějším místem pro umístění nových značek div (viz hvězdičky):

**<div id="my-custom-div">**
<?php foreach ($fields as $id => $field): ?>
  <?php if (!empty($field->separator)): ?>
    <?php print $field->separator; ?>
  <?php endif; ?>

  <<?php print $field->inline_html;?> class="views-field-<?php print $field->class; ?>">
  <?php if ($field->label): ?>
    <label class="views-label-<?php print $field->class; ?>">
      <?php print $field->label; ?>:
    </label>
  <?php endif; ?>
  <?php
    // $field->element_type is either SPAN or DIV depending upon whether or not
    // the field is a 'block' element type or 'inline' element type.
  ?>

    <<?php print $field->element_type; ?> class="field-content"><?php print $field->content; ?></<?php print $field->element_type; ?>>
    </<?php print $field->inline_html;?>>
<?php endforeach; ?>
**</div>**

Normálně s tím trochu experimentuji, takže je trochu obtížné vám říct přesnou přímou škodu, ale doufejme, že výše uvedené bude blízko ...

6
Frederik

@ Frederikova odpověď pro mě nefungovala. Pokud si jen chcete zabalit div kolem určitých polí ve vašem pohledu, musíte si vybudovat nějakou logiku. Myslím, že tento kód jen zabalí další div kolem celé smyčky pohledu. To pro mě fungovalo:

<?php foreach ($fields as $id => $field): ?>
  <?php if (!empty($field->separator)): ?>
    <?php print $field->separator; ?>
  <?php endif; ?>
  <?php if ($field->class=="title"):?>
    <div class="extra-savoir-faire">
  <?php endif; ?>
  <?php print $field->wrapper_prefix; ?>
    <?php print $field->label_html; ?>
    <?php print $field->content; ?>
  <?php print $field->wrapper_suffix; ?>
  <?php if ($field->class=="field-space"):?>
    </div>
  <?php endif; ?>
<?php endforeach; ?>

Klíč byl pomocí $field->class jako identifikační věc, kterou je třeba porovnat podle jednotlivých polí. To mi umožnilo hodit div před nadpis a za pole pro zobrazení „field_space“. Uložil jsem to jako nejkonkrétnější soubor tpl.php uvedený v mých motivových informacích pro „Výstup stylu řádků“ pomocí views-view-fields.tpl.php jako výchozí základna.

0
cdmo