NOVINKA - Online rekvalifikační kurz Java programátor. Oblíbená a studenty ověřená rekvalifikace - nyní i online.
NOVINKA – Víkendový online kurz Software tester, který tě posune dál. Zjisti, jak na to!

Diskuze: Menu v šabloně Framework (drupal7)

V předchozím kvízu, Online test znalostí PHP, jsme si ověřili nabyté zkušenosti z kurzu.

Aktivity
Avatar
David Zdešek:7.12.2017 16:38

Zdravim všechny, dělám web, u kterého chci nadesignovat menu. Jelikož poprvé pracuji s redakčním systémem (drupal7) a PHP celkově, které zrovna moc neovládám, tak si nevím rady. Potřebuji, aby místo jednotlivých položek v menu se místo textu zobrazily obrázky. Našel jsem si k tomu modul Menu Artributes, který mi k jednotlivým odkazům v menu přidá třídy, které mohu pomocí css nadefinovat. Menu se na stránkác zobrazuje nějak takto:

<nav id="navigation" role="navigation" class="clearfix">
 <h2 class="element-invisible">Hlavní menu</h2>
<ul id="main-menu" class="links clearfix">
<li class="menu-238 first active"><a href="/" id="odklaz1" class="active">Odkaz1</a></li>
<li class="menu-342"><a href="http://XXX.cz/?q=odkaz2" id="odklaz2">Odkaz2</a></li>
<li class="menu-343"><a href="http://XXX.cz/?q=odkaz3" id="odklaz3">Odkaz3</a></li>
</ul>
</nav>

V samotném souboru page.php je pak navigace tvořena takto (snad jsme se trefil, v PHP jsem fakt lama :) ):

<?php if ($main_menu || $secondary_menu || !empty($page['navigation'])): ?>
  <nav id="navigation" role="navigation" class="clearfix">
    <?php if (!empty($page['navigation'])): ?> <!--if block in navigation region, override $main_menu and $secondary_menu-->
      <?php print render($page['navigation']); ?>
    <?php endif; ?>
    <?php if (empty($page['navigation'])): ?>
              <?php print theme('links__system_main_menu', array(
        'links' => $main_menu,
        'attributes' => array(
          'id' => 'main-menu',
          'class' => array('links', 'clearfix'),
        ),
        'heading' => array(
          'text' => t('Main menu'),
          'level' => 'h2',
          'class' => array('element-invisible'),
        ),
      )); ?>
              <?php print theme('links__system_secondary_menu', array(
        'links' => $secondary_menu,
        'attributes' => array(
          'id' => 'secondary-menu',
          'class' => array('links', 'clearfix'),
        ),
        'heading' => array(
          'text' => t('Secondary menu'),
          'level' => 'h2',
          'class' => array('element-invisible'),
        ),
      )); ?>
    <?php endif; ?>
  </nav> <!-- /#navigation -->
<?php endif; ?>
<?php if ($breadcrumb): print $breadcrumb; endif;?>

Samotný porblém jsem identifikoval v tom, že za odkazem v menu bych potřeboval ještě tag <div>, kterému bych pak mohl nadefinovat pozadí a následně vypnout zobrazení textu v odkazu, to by mělo jít předpokládám v css přes display: block. Za každou radu jak si s tím poradit budu vděčný.

 
Odpovědět
7.12.2017 16:38
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 1 zpráv z 1.