it-swarm-eu.dev

Vícenásobné pořadí / hmotnost blokového kontextu

Mám nastaveno 2 kontexty, z nichž každý umístí blok do stejné oblasti.

Jsou chvíle, kdy se oba tyto kontexty stanou současně a oba bloky se objeví společně.

V současné době, když se oba objeví, nejsou v pořadí, které požaduji, existuje způsob, jak je zvážit v různých kontextech? Vím, že vážení funguje v kontextu, ale v tomto bodě to není to, co potřebuji.

V současné době používá: Drupal 6.22, Kontext 6.x-3.0

PDATE:

Ahoj všichni,

Zdá se, že tento příspěvek je docela zajímavý, ale obávám se, že už nepoužívám Drupal nebo už nemám čas (nebo weby) na kontrolu těchto odpovědí . Pokud se na nějakou odpověď dostane dostatečný zájem a zdá se, že je správná, šťastně ji označím za správnou, ale nemohu nic ověřit.

5
rockingskier

Tato oprava pracoval pro mě. Povolte opravu na admin/build/context/settings .

Po tomto komentáři je toho hodně diskutováno a jeden přispěvatel dokonce vytvořil modul. Nesčetl jsem mnoho dalších komentářů, implementoval modul ani žádné záplaty zveřejněné po té, které jsem zmínil výše.

2
Batandwa

Stále neexistuje definitivní řešení tohoto problému, můžete se podívat na Hmotnosti bloků, když je nastaveno více kontextů nebo možná context_respect . Můžete se také podívat na Way to Weight Blocks, které se zobrazují z více kontextů , kde najdete některé informace o pozadí.

Jedním řešením je exportovat všechny vaše souvislosti do kódu (pomocí funkcí) a upravit váhu uvnitř vytvořených kódových souborů. Jediným problémem je, že pokud svou funkci znovu exportujete, vaše ruční změny budou vráceny. Tento přístup používáme prozatím, protože se hodí do našeho pracovního postupu.

1
Attiks

Jen jsem to opravil pro sebe (při použití verze 7.x-3.x), pomocí hook_context_load_alter(). V zásadě to můžete implementovat do svého vlastního misc modulu, vytisknout, co získáváte, pomocí funkce dpm(), a poté upravit podle potřeby. Tady je to, co jsem nakonec udělal:

/**
 * Implements hook_context_load_alter().
 */
function example_misc_context_load_alter(&$context) {
  // We need to make sure that the mobile section menu is printed before these menus,
  // so we set the weights to -9 here so they appear after it.
  if ($context->name == 'about') {
    $context->reactions['block']['blocks']['menu_block-15']['weight'] = -9;
  }
  if ($context->name == 'traveler') {
    $context->reactions['block']['blocks']['menu_block-1']['weight'] = -9;
  }
}
1
John Fiala

Kontext váhy přiřazený k bloku je číslo, které ovlivní polohu všech bloků, které jakýkoli kontext přidá do kterékoli oblasti. Neexistuje UI pro vyladění těchto hmotností, které by míchalo bloky z několika kontextů, ale existuje způsob, jak to obejít.

Nejjednodušší řešení, které jsem mohl najít, bylo spustit nějaký vlastní JavaScript v konzole prohlížeče:

 $(".form-item").show()

Zobrazí se všechny váhy, které řídí třídění. Vyladění těchto možností vám umožní třídit bloky, jak chcete.

0
googletorp