+ Antworten
Seite 1 von 2 1 2 LetzteLetzte
Ergebnis 1 bis 10 von 15

Thema: Problem mit Weiterlesen - Read More

  1. #1
    Neu an Board
    Registriert seit
    17.07.2008
    Beiträge
    12
    Bedankte sich
    5
    Erhielt 3 Danksagungen
    in 3 Beiträgen

    Standard Problem mit Weiterlesen - Read More

    Hallo Leute,

    bevor ich mit meinem Problem anfange: ich durchforste seit Tagen das Netz nach einer Lösung -ich hoffe mir kann wer helfen...

    Ich habe auf der Startseite zwei Beiträge und ein Newsmodul. Einer von den beiden Beiträgen ist wichtig und soll komplett angezeigt werden, der andere ist nicht so wichtig, daher soll nach einer Überschrift ein "Read More"- oder "Weiterlesen"-Link erscheinen. Bei einem Klick darauf soll der Rest dieses Beitrages einfach unter der Überschrift in selbigem Fenster erscheinen!

    Natürlich habe ich einiges probiert: Verschiedene Layouts (Standart, Startseiten-Blog etc.) was weiß ich...

    Das einzige was passiert, wenn man den Weiterlesen-Link klickt: es erscheint ein neues Fenster, in dem NUR der Inhalt, der unterhalb des "Readmore"-Bereiches angegeben ist. Die Überschrift davor, der eine komplette Beitrag und das Newsmodul sind nicht mehr da.

    Ich brauche irgendwas, womit ich ab einem gewissen Punkt, meinen Beitrag quasi "auf"- und wieder "zuklappen" kann. Nix mit neuem Fenster und der Rest fehlt!

    Das traurige ist, das nicht mal in dicken Wälzern über Joomla was steht. Wer kann mir helfen? Für ne gute Lösung gibt´s ne Belohnung...

    >> Joomla 1.5.9 mit JCE-Editor <<

    Gruß, a-i-r

  2. #2
    Neu an Board
    Registriert seit
    17.07.2008
    Beiträge
    12
    Bedankte sich
    5
    Erhielt 3 Danksagungen
    in 3 Beiträgen

    Standard

    Hey Leute,

    gibt´s denn sowas, das hier niemand ne kompakte Lösung parat hat?

    Hat Joomla da etwa Grenzen?

    Gruß, a-i-r

  3. #3
    Hat hier eine Zweitwohnung Avatar von MrDamage
    Registriert seit
    28.08.2007
    Ort
    Wien
    Beiträge
    1.776
    Bedankte sich
    6
    Erhielt 606 Danksagungen
    in 562 Beiträgen

    Standard

    Wie wär's mit einer Slide-Funktion:
    -> http://extensions.joomla.org/extensi...s/1046/details
    www.web-consultant.at
    Sorry, kein Support über die "Private Nachrichten"-Funktion.

  4. Erhielt Danksagungen von:


  5. #4
    Moderator Avatar von jamfx
    Registriert seit
    06.04.2006
    Ort
    Berlin
    Beiträge
    3.657
    Bedankte sich
    292
    Erhielt 819 Danksagungen
    in 770 Beiträgen

    Standard Wenn ich es richtig verstanden habe...

    Hi,

    wenn ich es richtig verstanden habe, dann stört dich, dass der Teaser (Anreißer)-Text nach dem klicken auf weiterlesen verschwindet, er aber zusätzlich zu dem Text nach weiterlesen (Hauptartikel) weiterhin erscheinen soll.

    Man kann das entsprechend schalten, wie man möchte. Ich bin mir gerade unsicher, wo genau das zu schalten ist. Entweder im Menüeintrag die Einstellungen (zeige / verstecke introtext) oder bei den Beitragseinstellungen (allgemein Beiträge, dann Einstellungen), so dass man hier anklicken kann zeige / verstecke Introtext.

    Falls nicht, kannst du dich um die Erweiterung von MrDamage kümmern. Die könnte deinem Wunsch auch nahe kommen.
    Es grüßt
    JamFX
    www.nik-o-mat.de -> Freie Software, Joomla-Tipps & Übersetzungen
    www.akeebabackup.de ->AkeebaBackup Joomla Umziehen, Sichern, Wiederherstellen [Videoanleitung]
    nik-o-mat bei Twitter | Google+ | Facebook

  6. Erhielt Danksagungen von:


  7. #5
    Neu an Board
    Registriert seit
    17.07.2008
    Beiträge
    12
    Bedankte sich
    5
    Erhielt 3 Danksagungen
    in 3 Beiträgen

    Standard

    Vielen Danke erstmal euch beiden...

    das mit dem Einleitungstext anzeigen hatte ich probiert, das hat irgendwie nix gebracht, woran auch immer das lag...

    Die Extension kannte ich noch nicht - gefällt mir sehr gut - ich denke, ich werd das mal ausprobieren!

    Ich hatte in der Nacht noch ne etwas umständlichere Lösung gefunden, die aber auch funktioniert - wenn also noch jemand das Problem hat:

    Wie ich ganz oben beschrieben hatte, handelt es sich um zwei Beiträge, einer soll immer vollständig angezeigt werden, der andere nur "angeteasert" mit "Weiterlesen"-Link.
    Ich hab folgendes gemacht: ich hab den Einleitungstext mit in den ersten vollständigen Artikel genommen und einen eigenen "Weiterlesen"-Link zu einer "Unterseite" der Startseite geführt. Auf dieser Unterseite ist nun der Einleitungstext mit dem restlichen Inhalt des zweiten Beitrags. Am Ende ist wieder ein normaler Link zur eigentlichen Startseite mit dem Teaser des zweiten Beitrags. Damit das Newsmodul auf der Startseite, als auch auf der Unterseite angezeigt wird, hab ich in den Moduleinstellungen einfach noch das Untermenü des Startseiteneintrags mit ausgewählt.
    Der Untermenüpunkt wird in der Menüleiste nicht mit angezeigt, das hab ich deaktiviert, da ich ansonsten auch keine Untermenüs brauche...

    Naja, die Tabs & Slides-Variante ist glaub ich einfacher...

  8. #6
    Hat hier eine Zweitwohnung Avatar von infernalshade
    Registriert seit
    12.11.2008
    Ort
    Straubing
    Beiträge
    1.733
    Bedankte sich
    78
    Erhielt 335 Danksagungen
    in 302 Beiträgen

    Standard

    ich würd dir das hier empfehlen: http://extensions.joomla.org/extensi...w/7040/details

    da machst du im beitrag nur folgendes:
    Code:
    Deine Beitragsüberschrift
    Dein Teasertext
    {slider id="1" title="weiterlesen..." direction="0"}Hier dein Beitrags-Inhalt der erst nicht sichtbar ist{sliderEnd}
    somit wird der restliche content bei klick auf weiterlesen auf und zugeklappt!

    EDIT: Ein Beispiel findest du auf unserer Website: http://www.creativ-handwerk.de/impressum.html

  9. Erhielt Danksagungen von:


  10. #7
    Neu an Board Avatar von fabi4711
    Registriert seit
    28.12.2008
    Beiträge
    96
    Bedankte sich
    10
    1 Danksagung in 1 Beitrag

    Standard

    das Plugin find ich super aber ich bekomme eine Fehlermeldung sobald ich das Plugin aktiviert habe und einen beitrag abspeichern möchte.

    Parse error: syntax error, unexpected T_CONST, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' in /var/www/web1156/html/site/joomla/plugins/content/slider.php on line 34

    hat da einer eine ahnung was ich da für ein Problem habe?

    gruß Fabian

  11. #8
    Hat hier eine Zweitwohnung Avatar von infernalshade
    Registriert seit
    12.11.2008
    Ort
    Straubing
    Beiträge
    1.733
    Bedankte sich
    78
    Erhielt 335 Danksagungen
    in 302 Beiträgen

    Standard

    kopier mal den quelltext dieser datei hier rein!

  12. #9
    Neu an Board Avatar von fabi4711
    Registriert seit
    28.12.2008
    Beiträge
    96
    Bedankte sich
    10
    1 Danksagung in 1 Beitrag

    Standard

    Daswäre dieser hier





    Code:
    <?php
    /**
     *
     * @version 1.0.0
     * @package Joomla
     * @copyright Copyright (C) 2008 Majunke Michael. All rights reserved.
     * @license GNU/GPL, see LICENSE.php
     * Joomla! is free software. This version may have been modified pursuant
     * to the GNU General Public License, and as distributed it includes or
     * is derivative of works licensed under the GNU General Public License or
     * other free or open source software licenses.
     * See COPYRIGHT.php for copyright notices and details.
     */
    // no direct access
    defined('_JEXEC') or die('Restricted access');
    // Import library dependencies
    jimport('joomla.plugin.plugin');
    
    /**
     * Slider plugin
     * <br/>
     * Use JavaScript with Mootools Lib
     *
     * <b>Usage:</b>
     * <code><slider id="x" title="The page title" direction="0|1" {cssSuffix="suffix"} /></code>
     *
     * Must : id        => an unique ID on Page
     * Must : title     => Slider title
     * Must : direction => 0 means vertical / 1 means horizontal Slider
     * Opt  : cssSuffix => is appended to normal cssClasses
     */
    class plgContentSlider extends JPlugin {
    
        const PATTERN = '/{slider\s+id="([^"]+)"\s+title="([^"]+)"\s+direction="([^"]+)"(\s+cssSuffix="([^"]+)")?}/';
    
        private $csspath = null ;
    
        private $document = null ;
    
        /**
         */
        function plgContentSlider(&$subject, $config)
        {
    
            parent::__construct($subject, $config);
            // Vars
            $this->document = &JFactory::getDocument();
    
            // DEBUG
            // print_r( $config );
    
            // Params
            $this->csspath = JArrayHelper::getValue( $config, 'csspath', '' );
            if (!empty($this->csspath)) {
                // need . DS . ?
                $this->document->addStyleSheet(
                    JURI::base() . $this->csspath . "/slider.css",
                    'text/css',
                    null,
                    array());
    
            } else {
                // need . DS . ?
                $this->document->addStyleSheet(
                    JURI::base() . 'plugins/content/slider.css',
                    'text/css',
                    null,
                    array());
            }
            //
        }
    
        /**
         * Plugin method with the same name as the event will be called automatically.
         */
        function onPrepareContent(&$row, &$params)
        {
    
            JHTML::_('behavior.mootools');
    
    	    //
            $matches = array();
            while (preg_match(plgContentSlider::PATTERN, $row->text, $matches)) {
    
    			//
                $tag = $matches[0];
                $id = $matches[1];
                $title = $matches[2];
                $direction = $matches[3];
                $cssSuffix = $matches[5];
                if (empty($cssSuffix)) {
                    $cssSuffix = '';
                }
                $modeValue = '';
                if ($direction == 1) {
                    $modeValue = ", {mode: 'horizontal'}";
                }
    
                $replaceText = '<a id="toggleSlide' . $id . '" name="toggleSlide' . $id . '" class="slideBar' . $cssSuffix . '">' . $title . '</a>';
                $replaceText .= '<div id="slide' . $id . '" class="slideText' . $cssSuffix . '">';
                $row->text = str_replace($tag, $replaceText, $row->text);
                $script = 'window.addEvent(\'domready\', function(){ ';
                $script .= 'var mySlide' . $id . ' = new Fx.Slide(\'slide' . $id . '\' ' . $modeValue . '); ';
                $script .= 'mySlide' . $id . '.hide(); ';
                $script .= ' $(\'toggleSlide' . $id . '\').addEvent(\'mousedown\', function(e){ e = new Event(e); mySlide' . $id . '.toggle(); e.stop(); }); }); ';
    
                $this->document->addScriptDeclaration($script);
            }
            $row->text = str_replace('{sliderEnd}', '</div>', $row->text);
    
            return true;
        }
    
    }

  13. #10
    Neu an Board Avatar von fabi4711
    Registriert seit
    28.12.2008
    Beiträge
    96
    Bedankte sich
    10
    1 Danksagung in 1 Beitrag

    Standard

    Zitat Zitat von fabi4711 Beitrag anzeigen
    Daswäre dieser hier





    Code:
    <?php
    /**
     *
     * @version 1.0.0
     * @package Joomla
     * @copyright Copyright (C) 2008 Majunke Michael. All rights reserved.
     * @license GNU/GPL, see LICENSE.php
     * Joomla! is free software. This version may have been modified pursuant
     * to the GNU General Public License, and as distributed it includes or
     * is derivative of works licensed under the GNU General Public License or
     * other free or open source software licenses.
     * See COPYRIGHT.php for copyright notices and details.
     */
    // no direct access
    defined('_JEXEC') or die('Restricted access');
    // Import library dependencies
    jimport('joomla.plugin.plugin');
    
    /**
     * Slider plugin
     * <br/>
     * Use JavaScript with Mootools Lib
     *
     * <b>Usage:</b>
     * <code><slider id="x" title="The page title" direction="0|1" {cssSuffix="suffix"} /></code>
     *
     * Must : id        => an unique ID on Page
     * Must : title     => Slider title
     * Must : direction => 0 means vertical / 1 means horizontal Slider
     * Opt  : cssSuffix => is appended to normal cssClasses
     */
    class plgContentSlider extends JPlugin {
    
        const PATTERN = '/{slider\s+id="([^"]+)"\s+title="([^"]+)"\s+direction="([^"]+)"(\s+cssSuffix="([^"]+)")?}/';
    
        private $csspath = null ;
    
        private $document = null ;
    
        /**
         */
        function plgContentSlider(&$subject, $config)
        {
    
            parent::__construct($subject, $config);
            // Vars
            $this->document = &JFactory::getDocument();
    
            // DEBUG
            // print_r( $config );
    
            // Params
            $this->csspath = JArrayHelper::getValue( $config, 'csspath', '' );
            if (!empty($this->csspath)) {
                // need . DS . ?
                $this->document->addStyleSheet(
                    JURI::base() . $this->csspath . "/slider.css",
                    'text/css',
                    null,
                    array());
    
            } else {
                // need . DS . ?
                $this->document->addStyleSheet(
                    JURI::base() . 'plugins/content/slider.css',
                    'text/css',
                    null,
                    array());
            }
            //
        }
    
        /**
         * Plugin method with the same name as the event will be called automatically.
         */
        function onPrepareContent(&$row, &$params)
        {
    
            JHTML::_('behavior.mootools');
    
    	    //
            $matches = array();
            while (preg_match(plgContentSlider::PATTERN, $row->text, $matches)) {
    
    			//
                $tag = $matches[0];
                $id = $matches[1];
                $title = $matches[2];
                $direction = $matches[3];
                $cssSuffix = $matches[5];
                if (empty($cssSuffix)) {
                    $cssSuffix = '';
                }
                $modeValue = '';
                if ($direction == 1) {
                    $modeValue = ", {mode: 'horizontal'}";
                }
    
                $replaceText = '<a id="toggleSlide' . $id . '" name="toggleSlide' . $id . '" class="slideBar' . $cssSuffix . '">' . $title . '</a>';
                $replaceText .= '<div id="slide' . $id . '" class="slideText' . $cssSuffix . '">';
                $row->text = str_replace($tag, $replaceText, $row->text);
                $script = 'window.addEvent(\'domready\', function(){ ';
                $script .= 'var mySlide' . $id . ' = new Fx.Slide(\'slide' . $id . '\' ' . $modeValue . '); ';
                $script .= 'mySlide' . $id . '.hide(); ';
                $script .= ' $(\'toggleSlide' . $id . '\').addEvent(\'mousedown\', function(e){ e = new Event(e); mySlide' . $id . '.toggle(); e.stop(); }); }); ';
    
                $this->document->addScriptDeclaration($script);
            }
            $row->text = str_replace('{sliderEnd}', '</div>', $row->text);
    
            return true;
        }
    
    }
    die betreffende stelle wäre die hier

    HTML-Code:
    const PATTERN = '/{slider\s+id="([^"]+)"\s+title="([^"]+)"\s+direction="([^"]+)"(\s+cssSuffix="([^"]+)")?}/';

+ Antworten
Seite 1 von 2 1 2 LetzteLetzte

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein