Contao-Camp 2024
Ergebnis 1 bis 20 von 20

Thema: news_categories: News in Gruppen nach Kategorien ausgeben/auflisten

  1. #1
    Contao-Fan Avatar von jenda
    Registriert seit
    20.06.2009.
    Ort
    Berlin
    Beiträge
    490

    Standard news_categories: News in Gruppen nach Kategorien ausgeben/auflisten

    Hallo,

    ich möchte News nach Kategorien in Gruppen ausgeben. So sollte es aussehen.

    1. Kategoriename
    Liste der zugehörigen News

    2. Kategoriename
    Liste der zugehörigen News


    etc.

    Weiß jemand, wie ich das umsetzen kann? Ich setze news_categories und tags ein. Danke.

  2. #2
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.047
    Partner-ID
    10107

    Standard

    Das würde ich in einem selbst programmierten News Modul umsetzen

  3. #3
    Contao-Fan Avatar von jenda
    Registriert seit
    20.06.2009.
    Ort
    Berlin
    Beiträge
    490

    Standard

    Danke. Das habe ich mir schon gedacht. Weißt du, wie ich ihn umsetzen kann?

  4. #4
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.047
    Partner-ID
    10107

    Standard

    Runterprogrammieren kann ich dir das jetzt nicht. Ich würde zB im DCA festlegen, dass man die Kategorien auswählen kann und im Modul iterierst du dann über diese Kategorien, lädst die jeweiligen News, speicherst die Collections in einem Array ab, überlegst dir eine Template Struktur, etc.

  5. #5
    Contao-Fan Avatar von jenda
    Registriert seit
    20.06.2009.
    Ort
    Berlin
    Beiträge
    490

    Standard

    Ok. Danke. Leider weiß ich nicht, wie ich mir die DCA vom anderen Modul in meins holen kann und diese dann speichern soll. Das hört sich nach viel Contao-Wissen an, das leider nirgendwo in der offiziellen Dokumentation erklärt ist. Eigene Module für News kann ich schon machen, um eigene Felder hinzuzufügen und im Template abzufragen und auszugeben. Diese Vorgehensweise erscheint mir erstmal schleierhaft. Natürlich möchte ich es erlernen. Darüber würde ich mich sehr freuen. Erstmal brauche ich aber einen Anstoß, sonst komme ich gar nicht weiter.

  6. #6
    Contao-Urgestein Avatar von Andreas
    Registriert seit
    19.06.2009.
    Ort
    Mönchengladbach
    Beiträge
    7.703
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Weil du mich per PM angeschrieben hast: Ich kenne diese Erweiterung news_categories nicht, aber die müsste das doch schon von Haus aus so machen. Oder über ne Templateanpassung.
    Bitte!
    Vor Anfragen im Forum HTML validieren.
    Codesnippets hier im Froum sauber einrücken. Nur Tabs o. nur Leerzeichen verwenden.

    Vielen Dank an alle Wunschlistenerfüller
    Andreas Burg, Web Solutions

  7. #7
    Contao-Fan Avatar von jenda
    Registriert seit
    20.06.2009.
    Ort
    Berlin
    Beiträge
    490

    Standard

    Zitat Zitat von Andreas Beitrag anzeigen
    Weil du mich per PM angeschrieben hast: Ich kenne diese Erweiterung news_categories nicht, aber die müsste das doch schon von Haus aus so machen. Oder über ne Templateanpassung.
    Danke für deine Antwort.

    Wie schon Spooky schreibt, muss ich einen eigenen Module programmieren. Ich brauche aber jemanden, der mir erklärt, wie ich auf die Daten anderer Erweiterung komme und das baue, wie Spooky das vorgeschlagen hat. Leider kenne ich nicht jede Contao-Logik und mir fehlt jegliche Dokumentation dazu.

  8. #8
    Contao-Urgestein Avatar von Andreas
    Registriert seit
    19.06.2009.
    Ort
    Mönchengladbach
    Beiträge
    7.703
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Ich bezweifle, dass du ein eigenes Modul programmieren musst, um News nach Kategorien auszugeben.
    Bitte!
    Vor Anfragen im Forum HTML validieren.
    Codesnippets hier im Froum sauber einrücken. Nur Tabs o. nur Leerzeichen verwenden.

    Vielen Dank an alle Wunschlistenerfüller
    Andreas Burg, Web Solutions

  9. #9
    Contao-Fan Avatar von jenda
    Registriert seit
    20.06.2009.
    Ort
    Berlin
    Beiträge
    490

    Standard

    Es geht darum, dass ich es dynamisch haben möchte. Momentan ist es möglich pro Kategorie eine Liste der dazu gehörigen News zu erstellen. Dafür muss man allerdings pro Kategorie Modul Newsfilter nehmen. Ich möchte aber das ein Modul das übernimmt und alles auf einmal ausgibt.

  10. #10
    Contao-Urgestein Avatar von Andreas
    Registriert seit
    19.06.2009.
    Ort
    Mönchengladbach
    Beiträge
    7.703
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Wie gesagt, ich kenne die Erweiterung nicht, aber du solltest in deinem Ausgabemodul mal alle Archive/Kategorien anhaken und in deinem Template die gelieferten Variablen checken. Evtl. kannst du das daraus zusammenbauen.
    PHP-Code:
    <?php $this->showTemplateVars() ?>
    Bitte!
    Vor Anfragen im Forum HTML validieren.
    Codesnippets hier im Froum sauber einrücken. Nur Tabs o. nur Leerzeichen verwenden.

    Vielen Dank an alle Wunschlistenerfüller
    Andreas Burg, Web Solutions

  11. #11
    Contao-Fan Avatar von jenda
    Registriert seit
    20.06.2009.
    Ort
    Berlin
    Beiträge
    490

    Standard

    Zitat Zitat von Andreas Beitrag anzeigen
    Wie gesagt, ich kenne die Erweiterung nicht, aber du solltest in deinem Ausgabemodul mal alle Archive/Kategorien anhaken und in deinem Template die gelieferten Variablen checken. Evtl. kannst du das daraus zusammenbauen.
    PHP-Code:
    <?php $this->showTemplateVars() ?>
    Danke für deine Geduld. Ich scheitere leider einfach schon am Anfang. Meine Fragen: wie kann ich die DCA-Felder und die in der Datenbank gespeicherten Daten von einem anderen Modul in meinem eigenen Modul abrufen, laden und im Backend anzeigen? Dann die Sammlungen speichern - wie das Spooky vorschlägt und dann wieder alles ausgeben.

  12. #12
    Contao-Urgestein Avatar von Andreas
    Registriert seit
    19.06.2009.
    Ort
    Mönchengladbach
    Beiträge
    7.703
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Daten aus den DB-Tabellen holt man mit Models oder mit der Database Klasse. Aber wenn du dies nicht weißt, wie möchtest du denn dann ein Modul programmieren? Außerdem bringen dir die Ausgabetemplates dies ja bereits ins FE.

    Spooky sagt
    Zitat Zitat von Spooky Beitrag anzeigen
    ... dass man die Kategorien auswählen kann und im Modul iterierst du dann über diese Kategorien, lädst die jeweiligen News, speicherst die Collections in einem Array ab, überlegst dir eine Template Struktur, etc.
    Aber das macht die Erweiterung ja bereits. Da sind ja bereits Checkboxen um die Kategorien auszuwählen.

    Untersuche die Variablen in den Ausgabetemplates.
    Bitte!
    Vor Anfragen im Forum HTML validieren.
    Codesnippets hier im Froum sauber einrücken. Nur Tabs o. nur Leerzeichen verwenden.

    Vielen Dank an alle Wunschlistenerfüller
    Andreas Burg, Web Solutions

  13. #13
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.047
    Partner-ID
    10107

    Standard

    Ein Modul, wo du alle Kategorien ausgeben kannst und dazu jeweils die dazugehörigen News gibt es nicht.

  14. #14
    Contao-Fan Avatar von jenda
    Registriert seit
    20.06.2009.
    Ort
    Berlin
    Beiträge
    490

    Standard

    Zitat Zitat von Andreas Beitrag anzeigen
    Daten aus den DB-Tabellen holt man mit Models oder mit der Database Klasse. Aber wenn du dies nicht weißt, wie möchtest du denn dann ein Modul programmieren? Außerdem bringen dir die Ausgabetemplates dies ja bereits ins FE.
    Danke. Deswegen frage ich hier, um das zu erlernen. Irgendwann möchte ich es wissen. Die Frage ist nur, ob mir jemand das Geheimnis verrät, wie ich das machen kann. Wie geschrieben, die Contao-Dokumentation verrät es nicht. Deswegen frage ich hier, weil hier erfahrene Nutzer sind. Wenn ich das machen kann, erstelle hier auch gerne eine Anleitung, damit alle davon profitieren können. Das ist vollkommen in meinem Sinne.

  15. #15
    Contao-Urgestein Avatar von Andreas
    Registriert seit
    19.06.2009.
    Ort
    Mönchengladbach
    Beiträge
    7.703
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Ok, news_categories bietet tatsächlich nicht die Möglichkeit einer Ausgabe nach Kategorien, so wie du dies möchtest. Das liegt wohl daran, dass News ja auch mehreren Kategorien zugeordnet werden können und du in so einer Ausgabe dann diese News doppelt hättest. Diese Erweiterung ist dafür gedacht, eine Liste mit den Kategorien auszugeben, welche dann als Filter zu den einzelnen Kategorien dient.

    Du könntest folgendes machen.

    Das mod_newslist-Template weiß erstmal nichts von den News-Datensätzen, außer der Anzahl und einem Array, welches die generierten News aus dem news_-Template beinhaltet.

    Im news_-Template kann man die auszuliefernden News in einer globalen Variable speichern.
    PHP-Code:
    <?php $GLOBALS['CUSTOM']['newsList'][] = $this->id ?>
    Im mod_newslist-Template kann man diese News nun abrufen.
    PHP-Code:
    <?php
    foreach($GLOBALS['CUSTOM']['newsList'] as $news)
    {
      
    $newsModel = \NewsModel::findByPk($news);
      echo 
    $newsModel->headline.'<br>';
      echo 
    $newsModel->alias.'<br>';

      
    $categories deserialize($newsModel->categoriestrue);
      foreach(
    $categories as $category)
      {
        
    $categoryModel = \NewsCategoryModel::findByPk($category);
        echo 
    $categoryModel->title.'<br>';
        echo 
    $categoryModel->alias.'<br>';
      }
    }
    ?>
    In dem Beispiel siehst du, wie du anhand einer News-ID über ein Model an den Datensatz der News kommst und anhand einer Category-ID über ein Model an den Datensatz der Kategorie.

    Dies nun nochmal aufzubereiten, dass du die Kategorietitel als Überschriften und darunter die passenden News stehen hast, wäre mit PHP möglich, ist mir aber gerade zu viel Aufwand.

    Tipp: In Contao 3.5 kannst du zum Debuggen anstatt
    PHP-Code:
        echo $categoryModel->title.'<br>'
    auch
    PHP-Code:
    dump($categoryModel->title); 
    benutzen.
    Bitte!
    Vor Anfragen im Forum HTML validieren.
    Codesnippets hier im Froum sauber einrücken. Nur Tabs o. nur Leerzeichen verwenden.

    Vielen Dank an alle Wunschlistenerfüller
    Andreas Burg, Web Solutions

  16. #16
    Contao-Fan Avatar von jenda
    Registriert seit
    20.06.2009.
    Ort
    Berlin
    Beiträge
    490

    Standard

    Zitat Zitat von Andreas Beitrag anzeigen
    Ok, news_categories bietet tatsächlich nicht die Möglichkeit einer Ausgabe nach Kategorien, so wie du dies möchtest. Das liegt wohl daran, dass News ja auch mehreren Kategorien zugeordnet werden können und du in so einer Ausgabe dann diese News doppelt hättest. Diese Erweiterung ist dafür gedacht, eine Liste mit den Kategorien auszugeben, welche dann als Filter zu den einzelnen Kategorien dient.
    …..
    Vielen Dank, Andreas. Deine Hilfe schätze ich sehr. Wenn ich es richtig verstehe, muss ich kein neues Modul erstellen?

    Das heißt. Ich nehme ganz normale Newsliste als Modul für die Ausgabe im Frontend und wähle dort die angepassten Templates aus und das war's?

  17. #17
    Contao-Urgestein Avatar von Andreas
    Registriert seit
    19.06.2009.
    Ort
    Mönchengladbach
    Beiträge
    7.703
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Ja, wenn du diesen Filter nicht möchtest, dann brauchst du das neue Modul der Erweiterung nicht, nur Liste und Leser, Liste mit angepassten Templates.

    Die Zuweisung der Kategorien erfolgt in der DB über das Feld tl_news.categories. In dem Feld steht ein serialisiertes Array mit den Kategorie-IDs (ist mit phpMyAdmin leider nicht sichtbar, weil es vom Typ blob ist).

    Schau dir auch die Tabellen tl_news, tl_news_categories und tl_news_category an. Ein Blick auf die DB-Tabellen kann nie schaden und hilft die Strukturen zu verstehen.

    Hier gibt es auch nochmal 7 Hilfeseiten https://github.com/codefog/contao-ne...adjustments.md
    Bitte!
    Vor Anfragen im Forum HTML validieren.
    Codesnippets hier im Froum sauber einrücken. Nur Tabs o. nur Leerzeichen verwenden.

    Vielen Dank an alle Wunschlistenerfüller
    Andreas Burg, Web Solutions

  18. #18
    Contao-Fan Avatar von jenda
    Registriert seit
    20.06.2009.
    Ort
    Berlin
    Beiträge
    490

    Standard

    Danke. Hoffentlich werde ich es verstehen und umsetzen können.

  19. #19
    Contao-Urgestein Avatar von Andreas
    Registriert seit
    19.06.2009.
    Ort
    Mönchengladbach
    Beiträge
    7.703
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Das ist nicht so einfach, erfordert einiges an Hirnschmalz. Evtl. brauchst du ne Möglichkeit multidimensionale Arrays zu sortieren.
    PHP-Code:
    // Sort $myArray by $myArray[n]['myVar']
    usort($myArray, function($a$b) {
      return 
    strnatcasecmp($a['myVar'], $b['myVar']);
    });
    ?> 
    Siehe auch hier http://de1.php.net/manual/de/functio...examples.multi

    Zuerst musst du dir einen Plan zurechtlegen.
    Bitte!
    Vor Anfragen im Forum HTML validieren.
    Codesnippets hier im Froum sauber einrücken. Nur Tabs o. nur Leerzeichen verwenden.

    Vielen Dank an alle Wunschlistenerfüller
    Andreas Burg, Web Solutions

  20. #20
    Contao-Fan Avatar von Gassi
    Registriert seit
    18.11.2009.
    Ort
    Konstanz
    Beiträge
    425

    Standard

    Hallo,
    ich möchte das Thema nochmal aufgreifen...
    Ich habe folgendes Problem:

    Es soll eine Newsliste mit 20 Einträgen ausgegeben werden mit einer Kategorie (Kat 1). Ist ja eigentlich kein Problem. Das eigentliche Problem ist jetzt nur -wenn es von dieser Kategorie keine 20 Einträge gibt, soll es automatisch bis zu den restlichen 20 Einträge von Kat B verwenden. (Es muss immer 20 geben - diese werden auf Screens ausgegeben und dürfen nie leer sein). Es werden aber auch immer nur 2 Einträge pro Seite angezeigt...

    Any ideas?!
    Ich komme da grad nicht weiter... ich dachte evtl über 2 listen oder so.... aber die sortierung geht immer über das Datum. Ich bräuchte eigentlich nur eine Neusortierung der Newsliste nach "category" und nach "Datum".

    Über Hilfe / Denkansätze wäre ich sehr Dankbar...

    Grüsse Gassi

    EDIT: Habs gelöst mit dem news_sorted Modul und der featured Option. Dem Hook einfach eine weitere sortierung nach Featured und Datum hinzugefügt... Und schon sortiert es die als erstes und danach die restlichen nach Datum. Vielleicht hilft es ja mal jemanden weiter?!

    ps. was auch kein problem wäre - die news einfach zu loopen - also wenn es nur 15 Einträge gibt - dann könnte ab der 16. auch wieder die erste News angezeigt werden...
    Geändert von Gassi (15.12.2018 um 14:26 Uhr)

Aktive Benutzer

Aktive Benutzer

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

Lesezeichen

Lesezeichen

Berechtigungen

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