JOOMLA :: read more im override verarbeiten


NetBull

Erfahrenes Mitglied
Hi,

ich mach gerade einen content/featured ovveride für mein Template und habe folgendes Problem:

a) ich würde gerne die intro-items mit einem eigenen read more versehen. Wo lese ich die Adresse aus die ich verlinken muss.

b) woher bekomme ich den Text der als Read-More Text vorgesehen ist (also das was auf dem Button stehen sollte)

Code:
$PageContent .= '<div class="ReadMore" title="??? b)"><a href="??? a)">...</a></div>';
LG NetBu||
 

NetBull

Erfahrenes Mitglied
Hi Alice,

es ging weniger um die Darstellung, sondern mehr darum wie ich die URL für die Verlinkung setzen muss und woher ich den von Joomla definierten ReadMore Text auslesen kann.

LG NetBu||
 

Alice

Erfahrenes Mitglied
Dazu müsste ich mal eine live Seite und das Template sehen wo der Inhalt ausgegeben wird. Am besten von deiner Webseite. Zusätzlich müsste man sich ggf. auch weitere Sachen wie PHP-Dateien oder PlugIns anschauen.

Denn es gibt viele Wege wie man so etwas konstruiert. Ich weiss nicht, wie es bei Joomla genau umgesetzt wurde. Vielleicht wird die URL bereits in einer PHP-Datei gebildet oder auch in einem Template wie es häufig bei vBulletin der Fall ist.

1.) Beispielseite (am besten deine)
2.) Inhalt des verantwortlichen Templates
3.) Eventuell PHP-Datei/en und/oder PlugIns
 

NetBull

Erfahrenes Mitglied
@Alice

Hi,

sorry, aber jemand der sich mit Joomla auskennt dürfte wissen wie ich zum Ziel komme.

Code-Beispiel ist im ersten Post dieses Thread. Da sind mit Fragezeichen die beiden Positionen markiert die mir Probleme machen.

Allerdings habe ich es momentan erst mal so gelöst:

PHP:
// output of the items which should get displayed in columns
    if( count($this->intro_items)>0 && !empty($this->intro_items) ){
        $cols = $this->params->get('num_columns');
        $rows = round(count($this->intro_items) / $cols);
        $c = 0;
        $w = (int)((100 - $cols)/4);
        $uri = JFactory::getURI()->toString();
        $uri .= 'index.php?option=com_content&view=article&id=' . $item->id;
        $PageContent .= '<table width="100%">';
        foreach ($this->intro_items as $item){
            if($c==0){
                $PageContent .= '<tr>';
            }
            $PageContent .= '<td width="'.$w.'%" valign="top">';
            $PageContent .= '<div class="ContentBox">';
            $PageContent .= '<h2>' . $item->title . '</h2>';
            $PageContent .= str_replace('</p', '</span', str_replace('<p', '<span', $item->introtext));
            $PageContent .= '<div class="ReadMore" title="Weiterlesen"><a href="' . $uri . '">...</a></div>';
            $PageContent .= '<div class="EndFloat"></div>';          
            $PageContent .= '</div>';
            $PageContent .= '</td>';
            $c++;
            if($c>=$cols){
                $c=0;
                $PageContent .= '</tr>';
            }
        }
        $PageContent .= '</table>';
    }
Wobei ich nicht glücklich über die URI bin die daraus entsteht:
http://mosys-dev.vbx/dml-joomla/index.php?option=com_content&view=article&id=5

Leider habe ich noch keinen weg gefunden direkt auf den Alias eines Artikels zu verlinken.

Wer weis Rat?
LG NetBu||
 

NetBull

Erfahrenes Mitglied
Eigentlich hätte ich lieber was suchmaschinenfreundlicheres wie zum beispiel den Aliasnamen des Artikels statt den Parametern....
 

SpiceLab

ZENmechanic
Sofern Joomla dafür kein entsprechendes Feature/Plugin mitbringt/bietet, wäre mod_rewrite die alternative Lösung, die URLs entsprechend zu manipulieren.

Edit: Als Nichtnutzer von Joomla wieder kurz gegoogelt, und... da gibt's was im Backend :)

 
Zuletzt bearbeitet:

Alice

Erfahrenes Mitglied
Ich habe mich lange genug mit "Suchmaschinenfreundlichen" URL's beschäftigt um dir sagen zu können, dass es den Suchmaschinen egal ist wie die URL aussieht. Die verschönerung ist eigentlich nur fürs (dein) Auge.

Es gab mal ein Programm namens "vBSeo" für vBulletin-Foren. Das hat z.B. auch "unschöne" in "schöne" URL's umgeschrieben. Nach bekannt werden großer Sicherheitslücken (und gleichzeitig verschwand der Anbieter inkl. Webseite) sind viel vBulletin-Foren wieder auf die Standard URL's umgestiegen ohnen auch nur eine kleine veränderung im Ranking.

mod_rewrite ist eine tolle Sache, wird aber in Sachen "SEO" überschätzt.
 

NetBull

Erfahrenes Mitglied
hmmm ... mod_rewrite ist mir zu statisch. Immerhin könnten sich die artikel ändern... dann stimmt das mod-rew nich mehr und ich muss dauernd da nacharbeiten. besser wäre einfach ein aufruf des alias zum beitrag. aber erst mal leb ich mit den "häslichen" URLS
 

NetBull

Erfahrenes Mitglied
@SpiceLab :: danke für das Video.... Das hatte ich auch schon. Wenn ich das aber einstelle, dann gehen die Beiträge nicht mehr. Scheinbar muss ich dann alle menüs neu machen.
 

Jan-Frederik Stieler

Monsterator
Moderator
Hi,
hast du dir mal die default_item.php angeschaut?
Da steht doch alles drinnen was du brauchst.

PHP:
<?php echo $this->item->introtext; ?>

<?php if ($params->get('show_readmore') && $this->item->readmore) :
    if ($params->get('access-view')) :
        $link = JRoute::_(ContentHelperRoute::getArticleRoute($this->item->slug, $this->item->catid));
    else :
        $menu = JFactory::getApplication()->getMenu();
        $active = $menu->getActive();
        $itemId = $active->id;
        $link1 = JRoute::_('index.php?option=com_users&view=login&Itemid=' . $itemId);
        $returnURL = JRoute::_(ContentHelperRoute::getArticleRoute($this->item->slug, $this->item->catid));
        $link = new JURI($link1);
        $link->setVar('return', base64_encode($returnURL));
    endif;
?>
            <p class="readmore">
                <a href="<?php echo $link; ?>">
                    <?php if (!$params->get('access-view')) :
                        echo JText::_('COM_CONTENT_REGISTER_TO_READ_MORE');
                    elseif ($readmore = $this->item->alternative_readmore) :
                        echo $readmore;
                        if ($params->get('show_readmore_title', 0) != 0) :
                           echo JHtml::_('string.truncate', ($this->item->title), $params->get('readmore_limit'));
                        endif;
                    elseif ($params->get('show_readmore_title', 0) == 0) :
                        echo JText::sprintf('COM_CONTENT_READ_MORE_TITLE');
                    else :
                        echo JText::_('COM_CONTENT_READ_MORE');
                        echo JHtml::_('string.truncate', ($this->item->title), $params->get('readmore_limit'));
                    endif; ?></a>
        </p>
<?php endif; ?>
Hier auch noch die Frage was, genau willst du den bei den featured items anders als in der Standardausgabe haben?

Bezüglich URL, hast du schonmal in Joomla die Suchmaschinenfreundlichen URLs aktiviert?

Grüße
 

Neue Beiträge