it-swarm-eu.dev

Přidání tokenu do názvu bloku zobrazení

Zobrazuji na stránce několik bloků zobrazení. Obsah je filtrován předáním nid z URL do nějakého vlastního php. Přeji si změnit název bloku tak, aby používal pole z příslušného uzlu. Je to možné?

6
Lucy

U pohledů 3 jsou dané odpovědi částečně nesprávné. V oblasti záhlaví bloků pohledu jsou povoleny tokeny. K dispozici jsou pouze tokeny pro pole použitá v pohledu. Takže můžete nastavit pole, které bude použito pouze pro skrytí jeho tokenu.

Musíte vybrat možnost Globální: Textová oblast v Záhlaví, zaškrtnout Použít náhradní tokeny z prvního řádk a vybrat token z - Náhradní vzory rozbalovací nabídka.

4
Vodkasniffer

V aktuální verzi Zobrazení (3.14) můžete do názvu pohledu psát tokeny.

Neříká to v žádných zprávách nápovědy, ale testoval jsem to na https://simplytest.me a fungovalo to.

Dostupné názvy tokenů můžete zobrazit výběrem posledního pole a aktivací Rewrite the output of this field a skládací Replacement patterns.

Nevěřím, že je to možné z uživatelského rozhraní Views.

Můžete to udělat vytvořením názvu pomocí [theme_name]_preprocess_block zapojte se do svého tématu. Možná bude také možné nastavit název bloku v předzpracovaném háku pro zobrazení, ale nevím, který byste měli použít.

1
googletorp

To není možné, protože zobrazení neumožňuje použít tokeny.

Jak již bylo řečeno, je to technicky dosažitelné. Když řeknete, že předáte nid do nějakého vlastního php. Co myslíš? Používá pohled nid jako argument? nebo se vracíš něco jiného.

Skutečnou otázkou je, že skutečně filtrujete obsah podle pole? Pokud jste náhodou procházeli v nidu, prováděli zatížení uzlů, pak je filtrování v tomto poli skutečně možné. Hádám, že tohle děláte. Možná se mýlím.

Pokud se vám skutečně podaří filtrovat podle pole, uvidíte při úpravě argumentu možnost přepsat nadpis. Měli byste být schopni použít% 1 nebo% 2 v závislosti na tom, který argument je hodnota pole.

Poznámka: Na tuto odpověď dělám mnoho předpokladů. To je opět možné, pouze pokud je hodnota, kterou skutečně filtrujete, pole.

1
ericduran

Rozumím, že každé zobrazení vrací jeden uzel zobrazený v bloku a chcete změnit název tohoto bloku. Dalo by se to snadno udělat se složitým trikem :).

  • Vytvořte si svůj pohled se všemi potřebnými poli, nedávejte mu název
  • Vyberte pole nadpisu uzlu a vyberte "přepsat výstup", vložte token pole do textarea pomocí <h2>: <h2>[field_FIELDNAME_value]</h2>
  • Nedávejte do bloku název s <none>

Za normálních okolností byste měli vidět svůj blok s názvem uzlu, který se vrací podle vašeho pohledu, stylizovaný jako název bloku kvůli přítomnosti <h2>, Trochu více CSS, které se má vyleštit, a máte hotovo.

0
tostinni

Je to jednoduché. Do názvu bloku musíte přidat pouze token, že pokud toto pole zřejmě musí existovat ve vašem pohledu, přepište výstup pole, abyste mohli získat název tokenu a zkopírovat a vložit do názvu bloku .

0
Rafa