jak wyświetlić moduł na str_głównej, ale... - Strona 3
Strona 3 z 4 PierwszyPierwszy 1234 OstatniOstatni
Wyniki 21 do 30 z 38

Temat: jak wyświetlić moduł na str_głównej, ale...

  1. #21

  2. Pani Reklamowa
    Pani Reklamowa jest aktywna
    Avatar Panny Google

    Dołączył
    19-08-2010
    Skąd
    Internet
    Postów
    milion
    Pochwał
    setki
  3. #22
    Bywalec
    Dołączył
    31-08-2009
    Wpisy
    242
    Punkty
    10

    Domyślny

    Widzę, że się offtopic zrobił. Mam ten sam problem. Mianowicie pod stronę główną jest podpięty SOBI2, a w górnym menu podlinkowany Sigsiu Online Business Index 2 jako strona główna. No i teraz sprawa wygląda tak, że po bokach strony podpięte są moduły, a na środku wyświetlają się wpisy jako v-card. Po wybraniu wpisu otwiera się karta produktu, a boczne moduły zostają dalej przyprawiając mnie nie powiem o co.

    Kombinowałem już na różne sposoby. Podpięte moduły wyświetlać się mają wyłącznie na stronie głównej, no a tutaj jest podpięte SOBI i wyświetlają się na wszystkich podstronach obsługiwanych przez ten moduł.

    Wie ktoś może jak to rozwiązać?

    Link do strony: pensjonat-ok.pl

  4. #23
    Wyga Jola awatar
    Dołączył
    08-01-2008
    Skąd
    Wrocław
    Wpisy
    3 239
    Punkty
    386

    Domyślny

    Witam,
    w takich przypadkach pomocne jest dopisanie warunku do wyświetlania wybranej pozycji menu w pliku szablonu.
    Załóżmy , że Twoje wymagające ingerencji moduły umieszczone są w pozycji nazwanej: right.
    W kodzie pliku index.php szablonu zazwyczaj występuje kod typu:
    Kod PHP:
    <?php if($this->countModules('right')) : ?>
         <div >
           <jdoc:include type="modules" name="right" style="rounded" />
        </div>
    <?php endif; ?>
    Należy dodać warunek sprawdzający np. zmienną GET sobi2Task, pierwszą linijkę należy zamienić na:
    Kod PHP:
    <?php if($this->countModules('right') && !JRequest::getVar'sobi2Task''' )) : ?>

  5. #24
    Bywalec
    Dołączył
    31-08-2009
    Wpisy
    242
    Punkty
    10

    Domyślny

    Rozumiem, że wówczas, gdy mam np warunek:

    Kod PHP:
    <?php echo artxPositions($document, array('top1''top2''top3'), 'art-block'); ?>
    to zastąpić go tym podanym przez Ciebie, w postaci:

    Kod PHP:
    <?php if($this->countModules('top1''top2''top3')) && !JRequest::getVar'sobi2Task''' )) : ?>
         <div >
           <jdoc:include type="modules" name="top" style="rounded" />
        </div>
    <?php endif; ?>
    czy też może zrobić to jakoś inaczej. Pytam z ciekawości, bo dla topów nie ma przypisanego żadnego diva

  6. #25
    Wyga Jola awatar
    Dołączył
    08-01-2008
    Skąd
    Wrocław
    Wpisy
    3 239
    Punkty
    386

    Domyślny

    Napisałam zazwyczaj, u Ciebie o wyświetlaniu decyduje funkcja artxPositions(). To ją trzeba zmodyfikować. Nie jestem pewna czy mam szablon tego typu.

  7. #26
    Bywalec
    Dołączył
    31-08-2009
    Wpisy
    242
    Punkty
    10

    Domyślny

    Czyli do
    Kod PHP:
    <?php echo artxPositions($document, array('top1''top2''top3'), 'art-block'); ?>
    mam coś dodać?

    Czy to będzie wyglądało tak?

    Kod PHP:
    <?php echo artxPositions($document, array('top1''top2''top3'), 'art-block' && !JRequest::getVar'sobi2Task''' )); ?>
    Pytam bo mam jutro zalkę i muszę to mieć gotowe

  8. #27
    Wyga Jola awatar
    Dołączył
    08-01-2008
    Skąd
    Wrocław
    Wpisy
    3 239
    Punkty
    386

    Domyślny

    Nie - trzeba zmodyfikować funkcję artxPositions(). Prawdopodobnie znajduje się w pliku functions.php (przykładowo w szablonie horseblack).
    Czy u Ciebie wszystkie (top1, top2, top3) mają się nie wyświetlać?

  9. #28
    Bywalec
    Dołączył
    31-08-2009
    Wpisy
    242
    Punkty
    10

    Domyślny

    U mnie na stronie głównej ma się wyświetlać wszystko to co teraz jest. Po wybraniu np. Villa Orlik znika wszystko poza headerem, footerem, user3 (menu) i zostaje karta produktu na całą stronę.

    W pliku functions mam takie cuś:

    Kod PHP:
    function artxModules($document$position$style null)
        {
            if (
    $document == null) {
                
    // for Joomla 1.0
                
    ob_start();
                
    mosLoadModules($position, -2);
                
    $content ob_get_clean();
                if (
    null == $style || 'xhtml' == $style)
                    return 
    $content;
                
    $decorator 'artblock' == $style 'artxBlock' : ('artpost' == $style 'artxPost' null);
                
    $result '';
                
    $modules preg_split('~</div>\s*<div class="moduletable">~'$content);
                
    $lastModule count($modules) - 1;
                if (
    $lastModule > -1) {
                    
    $modules[0] = preg_replace('~^\s*<div class="moduletable">~'''$modules[0]);
                    
    $modules[$lastModule] = preg_replace('~</div>\s*$~'''$modules[$lastModule]);
                    foreach (
    $modules as $module) {
                        if (
    preg_match('~^\s*<h3>([^<]*)</h3>~'$module$matchesPREG_OFFSET_CAPTURE)) {
                            
    $result .= $decorator($matches[1][0], substr($module0$matches[0][1])
                                . 
    substr($module$matches[0][1] + strlen($matches[0][0])));
                        } else {
                            
    $result .= $decorator(null$module);
                        }
                    }
                }
                return 
    $result;
            }
            
    // for Joomla 1.5
            
    return '<jdoc:include type="modules" name="' $position '"' . (null != $style ' style="artstyle" artstyle="' $style '"' '') . ' />';
        }
        
        
    $artxFragments = array();

        function 
    artxFragmentBegin($head '')
        {
            global 
    $artxFragments;
            
    $artxFragments[] = array('head' => $head'content' => '''tail' => '');
        }

        function 
    artxFragmentContent($content '')
        {
            global 
    $artxFragments;
            
    $artxFragments[count($artxFragments) - 1]['content'] = $content;
        }

        function 
    artxFragmentEnd($tail ''$separator '')
        {
            global 
    $artxFragments;
            
    $fragment array_pop($artxFragments);
            
    $fragment['tail'] = $tail;
            
    $content trim($fragment['content']);
            if (
    count($artxFragments) == 0) {
                echo (
    trim($content) == '') ? '' : ($fragment['head'] . $content $fragment['tail']);
            } else {
                
    $result = (trim($content) == '') ? '' : ($fragment['head'] . $content $fragment['tail']);
                
    $fragment =& $artxFragments[count($artxFragments) - 1];
                
    $fragment['content'] .= (trim($fragment['content']) == '' '' $separator) . $result;
            }
        }

        function 
    artxFragment($head ''$content ''$tail ''$separator '')
        {
            global 
    $artxFragments;
            if (
    $head != '' && $content == '' && $tail == '' && $separator == '') {
                
    $content $head;
                
    $head '';
            } elseif (
    $head != '' && $content != '' && $tail == '' && $separator == '') {
                
    $separator $content;
                
    $content $head;
                
    $head '';
            }
            
    artxFragmentBegin($head);
            
    artxFragmentContent($content);
            
    artxFragmentEnd($tail$separator);
        }



  10. #29
    Wyga Jola awatar
    Dołączył
    08-01-2008
    Skąd
    Wrocław
    Wpisy
    3 239
    Punkty
    386

    Domyślny

    Może coś nie teges z moimi oczami, ale nie widzę tu funkcji, o której cały czas mowa. Nie odpowiedziałeś też na pytanie - które pozycje nie mają się wyświetlać. Wiedza, które mają - nie jest mi potrzebna.

  11. #30
    Bywalec
    Dołączył
    31-08-2009
    Wpisy
    242
    Punkty
    10

    Domyślny

    Mają zniknąć top1, top2, top3, left, right i bottom1.

    Fragment z index.php

    <jdoc:include type="modules" name="user3" />
    <jdoc:include type="modules" name="banner1" style="artstyle" artstyle="art-nostyle" />
    <?php echo artxPositions($document, array('top1', 'top2', 'top3'), 'art-block'); ?>
    <div class="art-contentLayout">
    <?php if (artxCountModules($document, 'left')) : ?>
    <div class="art-sidebar1"><?php echo artxModules($document, 'left', 'art-block'); ?>
    </div>
    <?php endif; ?>
    <div class="art-<?php echo artxGetContentCellStyle($document); ?>">

    <?php
    echo artxModules($document, 'banner2', 'art-nostyle');
    if (artxCountModules($document, 'breadcrumb'))
    echo artxPost(null, artxModules($document, 'breadcrumb'));
    echo artxPositions($document, array('user1', 'user2'), 'art-article');
    echo artxModules($document, 'banner3', 'art-nostyle');
    ?>
    <?php if (artxHasMessages()) : ?><div class="art-Post">
    <div class="art-Post-body">
    <div class="art-Post-inner">
    <div class="art-PostContent">

    <jdoc:include type="message" />

    </div>
    <div class="cleared"></div>

    </div>

    </div>
    </div>
    <?php endif; ?>
    <jdoc:include type="component" />

    <?php echo artxModules($document, 'banner4', 'art-nostyle'); ?>
    <?php echo artxPositions($document, array('user4', 'user5'), 'art-article'); ?>
    <?php echo artxModules($document, 'banner5', 'art-nostyle'); ?>
    </div>
    <?php if (artxCountModules($document, 'right')) : ?>
    <div class="art-sidebar2"><?php echo artxModules($document, 'right', 'art-block'); ?>
    </div>
    <?php endif; ?>

    </div>
    <div class="cleared"></div>

    <?php echo artxPositions($document, array('bottom1', 'bottom2', 'bottom3'), 'art-block'); ?>
    <jdoc:include type="modules" name="banner6" style="artstyle" artstyle="art-nostyle" />
    <div class="art-Footer">
    <div class="art-Footer-inner">
    <?php echo artxModules($document, 'syndicate'); ?>
    <div class="art-Footer-text">

Strona 3 z 4 PierwszyPierwszy 1234 OstatniOstatni

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
  •