Ergebnis 1 bis 9 von 9

Thema: Aus Tag cloud für Artikel und News gemeinsame Artikel/News-Liste erstellen

  1. #1
    Contao-Nutzer
    Registriert seit
    08.03.2012.
    Beiträge
    43

    Standard Aus Tag cloud für Artikel und News gemeinsame Artikel/News-Liste erstellen

    Hallo,
    ich möchte aus einer gemeinsamen Tag Cloud (generiert aus den Auszeichnungen der Artikel und News) eine Liste mit Links auf die entsprechend getagten Beiträge erstellen. Für die Artikel kann ich das Modul "Globale Artikelliste" verwenden, die eine Option hat, dass sie leer bleibt, solange kein Tag in der Cloud ausgewählt wird. Für die News kann ich eine Newsliste verwenden, die auch nach Tags gefiltert werden kann - allerdings hat sie nicht die Option, dass sie ohne Filter leer bleibt.
    Kann mir jemand auf die Sprünge helfen, wie ich das realisieren kann?

    LL

  2. #2
    Contao-Nutzer Avatar von shelvis
    Registriert seit
    22.04.2013.
    Beiträge
    4
    Partner-ID
    6560

    Standard

    kann es sein, dass du genau das Problem meinst, das ich hier in einem Ticket beschrieben habe?
    amisso GmbH
    Ihre Agentur für Webdesign, Contao-Erweiterungen und -Hosting aus Kiel: www.amisso.de
    Als Contao-Partner stehen wir Ihnen zur Seite - rufen Sie uns jetzt an: 0431 / 530 377 0

  3. #3
    Contao-Nutzer
    Registriert seit
    08.03.2012.
    Beiträge
    43

    Standard

    Zitat Zitat von shelvis Beitrag anzeigen
    kann es sein, dass du genau das Problem meinst, das ich hier in einem Ticket beschrieben habe?
    Nein, das meine ich nicht, sondern: ich möchte im Fall, dass kein Tag angegeben ist, die Liste leer ist. Bei der gegenwärtigen Implementierung enthält die Liste aber alle News.

  4. #4
    Contao-Nutzer
    Registriert seit
    03.11.2014.
    Beiträge
    33

    Standard

    Hallo shelvis,
    ist lang her, aber ich denke, dass es genau das ist, was du beschrieben hast! Ich habs dann versucht zu ändern, das gibt bei der Ausgabe ne Fehlermeldung :-(

    PHP-Code:
    if (count($tagids))
                {
                    
    $this->compileFromParent($tagids);
                }
                else
                {
                    echo 
    "<p>Keine Meldung</p>";
                } 

  5. #5
    Contao-Nutzer Avatar von shelvis
    Registriert seit
    22.04.2013.
    Beiträge
    4
    Partner-ID
    6560

    Standard

    Moin,

    was kriegst du denn für ne Fehlermeldung?
    amisso GmbH
    Ihre Agentur für Webdesign, Contao-Erweiterungen und -Hosting aus Kiel: www.amisso.de
    Als Contao-Partner stehen wir Ihnen zur Seite - rufen Sie uns jetzt an: 0431 / 530 377 0

  6. #6
    Contao-Nutzer
    Registriert seit
    03.11.2014.
    Beiträge
    33

    Standard

    Danke für die schnelle Antwort!

    In der Ausgabe im FE erscheint:

    Warning: Invalid argument supplied for foreach() in ...\system\modules\news\templates\modules\mod_news list.html5 on line 9

    #0 PFAD\system\modules\news\templates\modules\mod_new slist.html5(9): __error(2, 'Invalid argumen...', 'C:\xampp\htdocs...', 9, Array)
    #1 PFAD\system\modules\core\library\Contao\Template.p hp(276): include('C:\xampp\htdocs...')
    #2 PFAD\system\modules\core\classes\FrontendTemplate. php(37): Contao\Template->parse()
    #3 PFAD\system\modules\core\modules\Module.php(172): Contao\FrontendTemplate->parse()
    #4 PFAD\system\modules\news\modules\ModuleNewsList.ph p(65): Contao\Module->generate()
    #5 PFAD\system\modules\tags\modules\ModuleNewsListTag s.php(31): Contao\ModuleNewsList->generate()
    #6 PFAD\system\modules\core\elements\ContentModule.ph p(63): Contao\ModuleNewsListTags->generate()
    #7 PFAD\system\modules\core\library\Contao\Controller .php(456): Contao\ContentModule->generate()
    #8 PFAD\system\modules\core\modules\ModuleArticle.php (196): Contao\Controller->getContentElement(Object(Contao\ContentModel), 'main')
    #9 PFAD\system\modules\tags\modules\ModuleArticle.php (41): Contao\ModuleArticle->compile()
    #10 PFAD\system\modules\core\modules\Module.php(148): Aurealis\ModuleArticle->compile()
    #11 PFAD\system\modules\core\modules\ModuleArticle.php (59): Contao\Module->generate()
    #12 PFAD\system\modules\core\library\Contao\Controller .php(392): Contao\ModuleArticle->generate(false)
    #13 PFAD\system\modules\core\library\Contao\Controller .php(254): Contao\Controller->getArticle(Object(Contao\ArticleModel), false, false, 'main')
    #14 PFAD\system\modules\core\pages\PageRegular.php(138 ): Contao\Controller->getFrontendModule('0', 'main')
    #15 PFAD\system\modules\i18nl10n\pages\PageI18nl10nReg ular.php(53): Contao\PageRegular->generate(Object(Contao\PageModel))
    #16 PFAD\index.php(253): Verstaerker\I18nl10n\Pages\PageI18nl10nRegular->generate(Object(Contao\PageModel), true)
    #17 PFAD\index.php(437): Index->run()
    #18 {main}

  7. #7
    Contao-Nutzer Avatar von shelvis
    Registriert seit
    22.04.2013.
    Beiträge
    4
    Partner-ID
    6560

    Standard

    Moin,

    das Problem ist, das bei einfacher Ausgabe einer Meldung das Array was hier von foreach durchlaufen werden soll nicht initialisiert wird
    PHP-Code:
    $this->Template->articles = array(); 
    sollte helfen, allerdings weiß ich nicht, welche Variablen dann noch alles nicht gesetzt werden

    alternativ guck dir mal an, was in der Funktion compileFromParent gemacht wird am Ende wenn nichts zum Ausgeben gefunden wurde
    da wird das Template komplett ausgetauscht, allerdings erfordert auch das mod_newsarchive_empty-Template einige Variablen

    hier mal ein ungetesteter Versuch das Template schon an der genannten Stelle ohne Aufruf von compileFromParent auszutauschen
    PHP-Code:
    $this->Template = new \FrontendTemplate('mod_newsarchive_empty');
    $this->Template->empty $GLOBALS['TL_LANG']['MSC']['empty']; 
    die Variablen class, cssID, style, headline und hl sollten durch die generate-Funktion des Moduls (core/modules/Module.php ab Zeile 150) gesetzt werden

    Ich hoffe das hilft dir weiter.

    Gruß
    Christian
    amisso GmbH
    Ihre Agentur für Webdesign, Contao-Erweiterungen und -Hosting aus Kiel: www.amisso.de
    Als Contao-Partner stehen wir Ihnen zur Seite - rufen Sie uns jetzt an: 0431 / 530 377 0

  8. #8
    Contao-Nutzer
    Registriert seit
    03.11.2014.
    Beiträge
    33

    Daumen hoch Newsliste bleibt leer bei Aufruf aus Tagcloud,wenn keine passende News vorhanden sind


    Das hat auf Anhieb geklappt! Habe das in die else-Schleife eingefügt?! - war anscheinend richtig
    PHP-Code:
    if (count($tagids))
                {
                    
    $this->compileFromParent($tagids);
                }
                else
                {
                    
    $this->Template = new \FrontendTemplate('mod_newsarchive_empty');
                    
    $this->Template->empty $GLOBALS['TL_LANG']['MSC']['empty'];  
                } 
    Vielen, vielen Dank dafür!!!

  9. #9
    Contao-Nutzer
    Registriert seit
    31.05.2011.
    Beiträge
    91

    Standard

    Hallo,

    ich habe genau das gleiche Problem, kann aber mit dem Lösungsvorschlag nicht wirklich etwas anfangen. Könnte einer von euch beiden das etwas genauer formulieren, sodass es auch ein PHP-Noob dahinter steigt?

    Welches Template muss ich wo und wie editieren?

    Hab die Lösung doch selbst hinbekommen:

    Bei mir ist es nicht das News Archiv, sondern die News Liste, aber die Funktionsweise ist die gleiche.

    Die zu ändernde Datei: root/system/modules/tags/modules/ModuleNewsListTags.php

    ziemlich am Ende...

    von:

    PHP-Code:
                if (count($tagids))
                {
                    
    $this->compileFromParent($tagids);
                }
                else
                {
                             
    parent::compile();   
                } 
    zu

    PHP-Code:
                if (count($tagids))
                {
                    
    $this->compileFromParent($tagids);
                }
                else
                {
                    
    $this->Template = new \FrontendTemplate('mod_newslist_empty'); 
                    
    $this->Template->empty $GLOBALS['TL_LANG']['MSC']['empty'];   
                } 
    dann einfach ein Template aus der Standard "mod_newslist" mit dem Namen "mod_newslist_empty" anlegen.


    Viele Grüße,
    Christian
    Geändert von savuti (13.03.2015 um 13:37 Uhr)

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Berechtigungen

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