Błąd w nagłówkach modułów.
Wyniki 1 do 7 z 7

Temat: Błąd w nagłówkach modułów.

  1. #1
    Nowicjusz
    Dołączył
    13-12-2008
    Wpisy
    14
    Punkty
    10

    Domyślny Błąd w nagłówkach modułów.

    Witam,

    Przerabiam, a właściwie piszę od nowa szablon. I gdzieś strzeliłem babola i nie bardzo wiem gdzie mogę znaleźć część kodu w którym ten błąd jest. Problemem jest źle zamknięty tag <h3>. I na końcu tytułu wyświetla się " 3".

    Stronę można zobaczyć tu... http://mrmgr.homeip.net/vm

    Gdzie znajdę plik który odpowiada za generowanie modułów i ich tytułów. Problem pojawia się we wszystkich modułach które maja ustawione pole "Pokaż tytuł:" w opcji modułu.

    Kod PHP:
    <div class="box moduletable">
        <
    h3>Twój Koszyk</h>
      
    3>
        <
    div class="vmCartModule">    
        <
    div style="margin: 0 auto;">
                <
    a href="http://virtuemart.net/" target="_blank">
            <
    img src="http://localhost/vm/components/com_virtuemart/shop_image/ps_image/menu_logo.gif" alt="VirtueMart" width="80" border="0" /></a>
            <
    br />
        
    Twój koszyk jest pusty.    </div>
        <
    hr style="clear: both;" />
    <
    div style="float: left;" >
    </
    div>
    <
    div style="float: right;">
    </
    div>
    </
    div> </div>

    <
    div class="box moduletable_text">
        <
    h3>R E K L A M A</h>
      
    3>
        <
    div class="bannergroup_text">

        <
    div class="bannerheader">Featured Links:</div>
    <
    div class="banneritem_text"><a href="/vm/index.php?option=com_banners&amp;task=click&amp;bid=7" target="_blank"><img src="http://localhost/vm/images/banners/shop-ad.jpg" alt="Reklama" /></a><div class="clr"></div>
        </
    div>
    <
    div class="banneritem_text"><a href="/vm/index.php?option=com_banners&amp;task=click&amp;bid=8" target="_blank"><img src="http://localhost/vm/images/banners/shop-ad-books.jpg" alt="Reklama" /></a><div class="clr"></div>
        </
    div>

        <
    div class="bannerfooter_text">
             <
    a href="http://www.joomla.org">Ads by Joomla!</a>    </div>
    </
    div> </div>

    <
    div class="box moduletable">
        <
    h3>Wybrane produkty</h>
      
    3

  2. Pani Reklamowa
    Pani Reklamowa jest aktywna
    Avatar Panny Google

    Dołączył
    19-08-2010
    Skąd
    Internet
    Postów
    milion
    Pochwał
    setki
  3. #2
    Senior zwiastun awatar
    Dołączył
    20-09-2005
    Wpisy
    27 315
    Punkty
    1142

    Domyślny

    plik module.php w/szablon/html
    Korzystaj i ciesz się!
    ===============
    Zwiastun
    Biblioteka Elektronicznej Dokumentacji Joomla!

  4. #3
    Nowicjusz
    Dołączył
    13-12-2008
    Wpisy
    14
    Punkty
    10

    Domyślny

    Znalazłem, ale nie wiem jak to naprawić. Potrzeba mi tylko by nagłówek bloku był wyłączalny (if) i miał atrybut h3. Bezpośrednio pod nim tekst modułu z tagiem id="mod_txt". Poza tym autor oryginału chyba się pomylił nie wiem po co ta klamra na dole?

    Kod PHP:
    function modChrome_box($module, &$params, &$attribs) {
        $headerLevel = isset($attribs['headerLevel']) ? (int) $attribs['headerLevel'] : 3;
        if (!empty ($module->content)) : ?>

    <div class="box moduletable<?php echo $params->get('moduleclass_sfx'); ?>">
      <?php if ($module->showtitle) : ?>
      <h<?php echo $headerLevel?>><?php echo $module->title?></h>
      <?php echo $headerLevel?>>
      <?php endif; ?>
      <?php echo $module->content?> </div>
    <?php endif;
    }

  5. #4
    Senior zwiastun awatar
    Dołączył
    20-09-2005
    Wpisy
    27 315
    Punkty
    1142

    Domyślny

    Poza tym, jeśli się na tym nie znasz, to po co z tego korzystać. Omówienie jest na wiki Tu masz błąd
    Kod PHP:
    <h<?php echo $headerLevel?>><?php echo $module->title?></h>
    </span>
    Korzystaj i ciesz się!
    ===============
    Zwiastun
    Biblioteka Elektronicznej Dokumentacji Joomla!

  6. #5
    Nowicjusz
    Dołączył
    13-12-2008
    Wpisy
    14
    Punkty
    10

    Domyślny

    Metodą prób i błędów doszedłem, dziękuje za pomoc, zrobiłem tak:
    Kod PHP:
    function modChrome_box($module, &$params, &$attribs) {
        $headerLevel = isset($attribs['headerLevel']) ? (int) $attribs['headerLevel'] : 3;
        if (!empty ($module->content)) : ?>

    <div class="box moduletable<?php echo $params->get('moduleclass_sfx'); ?>">
      <?php if ($module->showtitle) : ?>
          <h3><?php echo $module->title?></h>
      <?php endif; ?>
      <div id="mod_text" <?php echo $module->content?></div>
    </div>
    <?php endif;
    }

  7. #6
    Senior zwiastun awatar
    Dołączył
    20-09-2005
    Wpisy
    27 315
    Punkty
    1142

    Domyślny

    I wyświetla się dobrze? Pleć pleciugo! przecież nadal masz źle domknięty znacznik!
    Korzystaj i ciesz się!
    ===============
    Zwiastun
    Biblioteka Elektronicznej Dokumentacji Joomla!

  8. #7
    Nowicjusz
    Dołączył
    13-12-2008
    Wpisy
    14
    Punkty
    10

    Domyślny

    O dziwo tak, działa poprawnie, pomimo że w tagu zamykającym brakowało "3" (teraz już poprawiłem). Może tag zamykający </h> zamyka ostatnio otwarty tag <h> nie zależnie od jego stopnia? To by wyjaśniało poprawne wyświetlanie modułu.

Reguły pisania

  • Nie możesz zakładać nowych tematów
  • Nie możesz dodawać wypowiedzi
  • Nie możesz dodawać załączników
  • Nie możesz poprawiać swoich postów
  •