[Joomla 2.5] Sufiks klasy modułu - Strona 2
Strona 2 z 2 PierwszyPierwszy 12
Wyniki 11 do 20 z 20

Temat: [Joomla 2.5] Sufiks klasy modułu

  1. #11
    Przeglądacz
    Dołączył
    01-06-2011
    Wpisy
    49
    Punkty
    10

    Domyślny

    nadałem jednemu modułowi sufiks i następnie w css ustawiłem dla testu aby tło było czerwone
    efekt:
    Załącznik 5640

    jak widać efekt nie jest poprawny gdyż sufix jest za głęboko w strukturze divów umieszczony. Chciałbym aby np cały blok był na czerwono


  2. Pani Reklamowa
    Pani Reklamowa jest aktywna
    Avatar Panny Google

    Dołączył
    19-08-2010
    Skąd
    Internet
    Postów
    milion
    Pochwał
    setki
  3. #12
    Senior nikszal awatar
    Dołączył
    07-09-2006
    Skąd
    FNW
    Wpisy
    5 288
    Punkty
    196

    Domyślny

    Słyszałeś o..., znasz moduły z własnym kodem html?
    Przy dobrej znajomości css cuda można robić. Każda linia tekstu może mieć inny kolor tła.
    Jako obowiązkową lekturę polecam którąś z tych pozycji o css.
    Nastaw się raczej na css3.
    Zanim zapytasz na Forum:
    1. Przeszukaj wątki.
    2. Poszukaj odpowiedzi na wiki.
    __________________________________________________ _________________
    Książki oddane na makulaturę dowodzą, że cierpliwość papieru też ma swoje granice.

  4. #13
    Przeglądacz
    Dołączył
    01-06-2011
    Wpisy
    49
    Punkty
    10

    Domyślny

    tekst na czerwonym polu jest własnym kodem html. Czerwone pole jest definiowane w stylach obecnie nie mogę ustawić efektu np: 20 boksów całych szarych a jeden cały czerwony.... nie wiem jak mam to lepiej wytłumaczyć. I nadal nie znam odpowiedzi jak wyświetlić nazwę sufiksa modułu


    np w module ustawia sobie przedrostek na "_test"

    potem w kodzie mam <div class="custom_test"> treść modułu z własnym </html>

    potem w css: .custom_test{background:red}

    Efekt: http://forum.joomla.pl/attachment.php?attachmentid=5640


  5. #14
    Wyjadacz
    Dołączył
    16-10-2009
    Wpisy
    596
    Punkty
    47

    Domyślny

    Chyba jestem głupi, bo nie rozumiem problemu.

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

    Domyślny

    Cytat Wysłane przez qbas-s Zobacz wiadomość
    <div class="art-box-body art-block-body <?php echo
    $moduleclass_sfx
    ?> ">. Jednak w takiej postaci zmienna
    $moduleclass_sfx jest pusta bo nie wiem jak ją prawidłowo wywołać aby zawierała sufix przyrostek klasy modułu
    A gdzie Ty to chcesz "wywoływać"?
    Bo w plikach szablonu, np. w modules.php wywołuje się za pomocą prostej instrukcji
    Kod PHP:
    <?php echo ($params->get('moduleclass_sfx'?>
    Korzystaj i ciesz się!
    ===============
    Zwiastun
    Biblioteka Elektronicznej Dokumentacji Joomla!

  7. #16
    Przeglądacz
    Dołączył
    01-06-2011
    Wpisy
    49
    Punkty
    10

    Domyślny

    bezpośrednio w folderze templatki mam plik functions.php (artisteer sobie taki robi). W nim jest funkcja:

    Kod PHP:
    function artxBlock($caption, $content, $classes = '') {        
    $hasCaption = ($GLOBALS['artx_settings']['block']['has_header'] && null !== $caption && strlen(trim($caption)) > 0);        
    $hasContent = (null !== $content && strlen(trim($content)) > 0);
            if (!$hasCaption && !$hasContent)  return '';
            ob_start();        ?>        

            <?php ob_start();        ?>
            <div class="art-box art-block">           
              <div class="art-box-body art-block-body ">
            <?php echo str_replace('class="art-box art-block">''class="art-box art-block' $classes '">'ob_get_clean()); ?>        
            <?php if ($hasCaption): ?>                    

           <div class="art-bar art-blockheader">                        
           <h3 class="t">            
    <?php echo $caption?>                        
    </h3>                   
    </div>                
    <?php endif; ?>       
     <?php if ($hasContent): ?>                    
    <div class="art-box art-blockcontent">                        
    <div class="art-box-body art-blockcontent-body">
     <?php echo artxPostprocessBlockContent($content); ?>

                                <div class="cleared"></div>                        
    </div>                    
    </div>
            <?php endif; ?>
                    <div class="cleared">
    </div>            
    </div>        
    </div>
                    
    <?php                
    return ob_get_clean();           
     }


    chciałbym linię <div class="art-box-body art-blockcontent-body">
    zastąpić
    <div class="art-box-body art-blockcontent-body <?php echo ($params->get('moduleclass_sfx'))?>">


    rozwiązanie(tak jak pisałem w pierwszym poście)
    <?php echo ($params->get('moduleclass_sfx')) ?>
    nie działa bo wyrzuca błąd:
    Call to a member function get() on a non-object in <ścieżka do templatki>
    Ostanio edytowane przez qbas-s : 17-07-2012 17:05


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

    Domyślny

    Nie mam, jak pisałem, Artistera, więc nie podpowiem. Błąd jest zrozumiały, bo Artister "przetwarza" instrukcje i zmienne Joomla! na swoje (obsługuje różne systemy). I na pewno gdzieś w kodzie można odnaleźć, jakieś przypisanie sufiksu klasy modułu, bo sufiksy w Artisterze działają. Może to się kryje pod zmienną $classes?
    Sugeruję po prostu pójść za tokiem myślenia @Nikszala.
    Korzystaj i ciesz się!
    ===============
    Zwiastun
    Biblioteka Elektronicznej Dokumentacji Joomla!

  9. #18
    Przeglądacz
    Dołączył
    01-06-2011
    Wpisy
    49
    Punkty
    10

    Domyślny

    Artisteer korzysta do wypełnienia modułu contentem domyślnego pliku który jest w katalog_główny_joomy\modules\mod_custo\tmpl\defa ult.php
    zawartość pliku:

    Kod PHP:
    defined('_JEXEC') or die;?>
    <div class="custom<?php echo $moduleclass_sfx ?><?php if ($params->get('backgroundimage')): ?> style="background-image:url(<?php echo $params->get('backgroundimage');?>)"<?php endif;?> >    <?php echo $module->content;?></div>
    i tu jest to moje $moduleclass_sfx które chce przenieść do "wyższego diva" ale nie mogę bo po wyrzuca mi błąd


  10. #19
    Przeglądacz
    Dołączył
    01-06-2011
    Wpisy
    49
    Punkty
    10

    Domyślny

    problem rozwiązałem(działa tylko dla templatek artisteera). W katalogu templatki edytujemy plik html\modules.php

    tam mamy funkcję odpowiedzialną za wyświetlanie boksów:

    function modChrome_artblock($module, &$params, &$attribs)
    {
    if (!empty ($module->content))
    echo artxBlock(($module->showtitle != 0) ? $module->title : '', $module->content);
    }

    zamieniamy ją na(dodając $params->get('moduleclass_sfx')) :
    function modChrome_artblock($module, &$params, &$attribs)
    {
    if (!empty ($module->content))
    echo artxBlock(($module->showtitle != 0) ? $module->title : '', $module->content,
    $params->get('artx-module-classes'),$params->get('moduleclass_sfx'));
    }



    potem w katalogu temlatki edytujemy plik function.php i zamieniamy
    function artxBlock($caption, $content, $classes = '')

    na

    function artxBlock($caption, $content, $classes = '',$sufix = '')

    i mamy dostęp do nazwy sufiksu.

    jeszcze wystarczy tylko w pliku: katalog_strony/modules/mod_custom/default.php
    zamienić

    <div class="custom<?php echo $moduleclass_sfx ?>" <?php if ($params->get('backgroundimage')): ?> style="background-image:url(<?php echo $params->get('backgroundimage');?>)"<?php endif;?> >
    <?php echo $module->content;?>
    </div>

    na

    <div class="custom<?php //echo $moduleclass_sfx ?>" <?php if ($params->get('backgroundimage')): ?> style="background-image:url(<?php echo $params->get('backgroundimage');?>)"<?php endif;?> >
    <?php echo $module->content;?>
    </div>

    i mamy ładny efekt w postaci jednego boksa z jasnobłękitnym tłem(oczywiście po wcześniejszym zdefiniowaniu styli dla sufiksa i określeniu go w ustawieniach modułu):
    http://s6.ifotos.pl/img/blokJPG_rawpqwx.JPG

    Ostanio edytowane przez qbas-s : 17-07-2012 23:10


  11. #20
    Debiutant
    Dołączył
    25-10-2012
    Wpisy
    6
    Punkty
    2

    Domyślny

    Też miałem podobny problem
    nie mogłem pobrać parametru
    straciłem na tym kilka godzin
    i teraz już wiem gdzie popełniłem błąd
    zrobiłem sobie funkcję którą wywoływałem
    a w niej próbowałem pobrać parametry
    ale, że zwykle programuję w c# lub c++
    to nie wiedziałem albo zapomniałem
    że w PHP we funkcji nie ma dostępu
    do zewnętrznego obiektu i trzeba go do
    funkcji przekazywać w postaci adresu parametru

Strona 2 z 2 PierwszyPierwszy 12

Podobne tematy

  1. Przyrostek klasy CSS modułu
    przez stasio na forum Szablony graficzne
    Odpowiedzi: 15
    Ostatni post/autor: 12-11-2009, 14:02
  2. Klasy modułów
    przez qlpa_ na forum Szablony, wygląd, formatowanie
    Odpowiedzi: 1
    Ostatni post/autor: 14-12-2008, 00:10
  3. Missus - gdzie wpisać przyrostek klasy css modułu?
    przez peyto na forum Szablony graficzne
    Odpowiedzi: 2
    Ostatni post/autor: 09-04-2008, 16:36
  4. Błędy w przyrostek klasy css modułu.
    przez ciepol_ml na forum Szablony graficzne
    Odpowiedzi: 1
    Ostatni post/autor: 22-03-2008, 14:47
  5. Przyrostek klasy CSS modułu
    przez mbx na forum Szablony graficzne
    Odpowiedzi: 1
    Ostatni post/autor: 21-11-2007, 19:11

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
  •