Ergebnis 1 bis 10 von 10

Thema: tt_news: Nachrichten filtern mit mehreren Kategorien

      
  1. #1
    Forum Newbie
    Registriert seit
    20.02.2011
    Alter
    44
    Beiträge
    11

    tt_news: Nachrichten filtern mit mehreren Kategorien

    Über das CATMENU ist es möglich dem FE_User die Möglichkeit zu geben die angezeigten Nachrichten in der LIST-Ansicht nach einer Kategorie zu filtern.

    Ich möchte dem FE_User die Möglichkeit bieten die Ansicht der List-Darstellung nach mehreren Kategorien (UND-Verknüpfung) zu filtern. Es sollen also nur Nachrichten gezeigt werden, die der Kat.A, Kat.B und Kat.C zugordnet sind.

    Ich habe jetzt schon mehrere Stunden in den Weiten des Internets gesucht, aber leider nichts brauchbares gefunden. Ich hätte nicht gedacht, dass das so ein ausgefallener Wunsch ist.

    Könnt Ihr mir helfen?

    Grüße an Alle
    Bodo

  2. #2
    Forum Stammgast
    Registriert seit
    04.04.2006
    Beiträge
    185
    Hello Bodo,

    hast du eine Lösung gefunden? Ich bin auch auf der Suche nach dieser Möglichkeit.
    Die Extension ods_newsfilter hat den Ansatz, nur funktioniert irgendwie die zweite Auswahl nicht...

    Grüsse
    BENCH

  3. #3
    Forum Aktivist
    Registriert seit
    23.07.2007
    Alter
    30
    Beiträge
    97
    funktioniert die ext. nun?
    hat mal wer den Programmierer kontaktiert ?
    gibt es eine andere Möglichkeit tt_news mit mehr "filtern" zu bestücken!?!

    Danke Euch!

  4. #4
    Forum Stammgast
    Registriert seit
    04.04.2006
    Beiträge
    185
    Nein, die Ext hatte ich nicht zum laufen gebracht. Ich ging dem Problem jedoch auch nicht nach.
    Ich probierte mal noch diesen Lösungsansatz aus: Typo3 Leckeres aus der IT-Welt
    Jedoch gibt es auch dort probleme. Aber grundsätzlich funktioniert es.

    Ich bräuchte die Funktion primär als Filter für Bilder. D.h. ich benutze die tt_news als Galerie und möchte eine Möglichkeit die Bilder nach mehreren Kriterien zu Filtern. Vielleicht weiss sonst jemand noch einen anderen Lösungsansatz.

    Grüsse

  5. #5
    Forum Aktivist
    Registriert seit
    23.07.2007
    Alter
    30
    Beiträge
    97
    das wollte ich machen, ggf. hast du noch eine idee?

    Hallo Liste,

    ist es möglich, die Kategorien so aufzubauen, dass man erst eine auswählen muss und dann kommen andere:

    Beispiel:

    Länderfilter:
    - Land1
    - Land2
    - Land3

    Themenfilter:
    - Thema1
    - Thema2
    - Thema3

    Nun wählt man erst das Land und dann das Thema...

    Danke Euch,
    Basti

  6. #6
    axl
    axl ist offline
    Forum Zuschauer
    Registriert seit
    19.10.2009
    Beiträge
    1
    Hallo zusammen,
    ich versuche mich gerade an so einer Lösung und bin dabei auf diesen Thread gestoßen. Es würde mich interessieren, ob Ihr dabei vorangekommen seid und vor allem WIE.

    Ich hatte mich dem Thema wie folgt genähert:

    1. tt_news Element (Listenansicht, Auswahl "Zeige alle Beiträge") auf einer Seite angelegt
    2. im Template der Seite folgendes TS:
      Code:
      [globalString = GP:catz = -1]
      plugin.tt_news{
                code = LIST
                useSubCategories = 1
                displaySubCategories = 1
                allowCaching = 0
                categoryMode = 1
                categorySelection = 4
      }
      [else]
      plugin.tt_news{
                code = LIST
                useSubCategories = 0
                displaySubCategories = 1
                allowCaching = 0
                categoryMode = 2
                categorySelection.data = GP:catz
      }
      [global]
    3. kleine Extension geschrieben, die die Kategorien aus der DB ausliest und entsprechende Links zusammenbaut
    Das ganze funktioniert zum Testen erst mal auch ohne die Extension, indem man den Parameter "catz" manuell in die URL schreibt. Mit "catz=-1" bekommt man die "Alles anzeigen"-Ansicht, catz="[Cat-ID],[Cat-ID]...] Filtert additiv.

    Probleme:
    • Der Filter funktioniert nur, wenn das Listenelement auf der Seite keine Kategorie-Filterung hat (siehe 1.)
    • Der Filter mit categoryMode = 2 funktioniert nur auf die unterste Kategorieebene, wenn also z.B. nach der Kategorie mit der ID 4 gefiltert wird und diese Unterkategorien hat, bleibt die Anzeige leer
    • categoryMode = 1 im ersten Teil der Bedingung sorgt dann dafür, dass catz=-1 die Filterung nach CatID 4 vornimmt, aber wie bekomme ich diesen Filter gleich beim Laden der Seite aktiv? Die Bedingung umzudrehen und mit [globalString = catz=*] anzufangen funktioniert nicht.
    Wie gesagt, wenn Ihr zum Thema "tt_news-Kategorien additiv filtern" eine praktikable Lösung habt, wäre ich für jeden, auch völlig anderen Ansatz, dankbar.

    Gruß

    Axel

  7. #7
    Forum Newbie
    Registriert seit
    21.05.2012
    Beiträge
    20

    AW: tt_news: Nachrichten filtern mit mehreren Kategorien

    hallo leidgeplagte ....

    hat irgendwer von euch schon eine lösung dazu?
    ich habe gerade die version von leckeres aus der it welt probiert und bekomme nicht mal im ersten schritt die richtigen kategorien angezeigt :-(


    lg
    XL

  8. #8
    Forum Newbie
    Registriert seit
    01.09.2011
    Alter
    23
    Beiträge
    14

    Beitrag AW: tt_news: Nachrichten filtern mit mehreren Kategorien

    Hallo liebe Typo3 Freunde,

    vielleicht hilft euch das weiter:

    Code:
    #Newsfilter
    get_categories = CONTENT
    get_categories {
        table = tt_news_cat
        select {
            pidInList = 67
            where = parent_category = 12
            orderBy = title
        }
    
        renderObj = COA
        renderObj {
            5 = LOAD_REGISTER
            5.categoryUid.cObject = TEXT
            5.categoryUid.cObject.field = uid
            5.categoryParam.cObject = TEXT
            5.categoryParam.cObject.field = uid
            5.categoryParam.cObject.wrap = &tx_ttnews[cat]=|
    
            10 = TEXT
            10.field = uid
            10.wrap = <option value="|"
    
            20 = TEXT
            20 {
                field = title
                wrap = selected="selected" >|
                if {
                    value.field = uid
                    equals = {$news.filter}
                }
            }
    
            30 = TEXT
            30 {
                field = title
                wrap = >|
                if {
                    value.field = uid
                    equals = {$news.filter}
                    negate = 1
                }
            }
            40 = CONTENT
            40.table = tt_news
            40.select {
                selectFields = count(*) AS counter
                pidInList = 67
                where = NOT deleted AND NOT hidden
                andWhere.data = register:categoryUid
                andWhere.wrap = tt_news_cat_mm.uid_foreign = |
                andWhere.value = 10
                andWhere.wrap = tt_news_cat_mm.uid_foreign = |
                join = tt_news_cat_mm ON (tt_news_cat_mm.uid_local = tt_news.uid)
            }
            40.renderObj = TEXT
            40.renderObj.field = counter
            40.stdWrap.noTrimWrap = | (|)|
    
            50 = TEXT
            50.value = </option>
        }
    }
    
    
    lib.field_filterbox = COA
    lib.field_filterbox {
        10 = TEXT
        10.value = {$news.URL}
        10.wrap = <form id="filter-formular" action="|" method="get">
    
        15 = TEXT
        15.value = <h2>News filtern</h2>
    
        20 = TEXT
        20.value = <p class="thema_label">Thema:</p>
    
        30 = TEXT
        30.value = <div class="filter_select"><select id="thema" name="categorie" size="1" onchange="document.getElementById('filter-formular').submit()">
    
        35 = TEXT
        35.value = <option value="all">Alle Themen Anzeigen</option>
    
        40 = TEXT
        40 < get_categories
    
        50 = TEXT
        50.value = </select></div>
    
        #70 = TEXT
        #70.value = <a class="button tt-news-fachgebiet" href="javascript:filter_news();"><span>› Suche anzeigen</span></a>
    
        80 = TEXT
        80.value = <p><button class="button tt-news-fachgebiet filter-btn"><span>› Suche anzeigen</span></button></p></form>
    }

    Und jetzt müsst ihr noch eine Javascriptdatei anlegen und natürlich einbinden:

    Code:
    function filter_news()
    {
      var categories = '';
      var subject = document.getElementById('thema').value;
      // nun weitere Felder auslesen, z.B. Medientyp
      //var mediaType = document.getElementById('medienTyp');
      //var author = document.getElementById('author');
    
      categories = subject;
    
      // neue URL mit Variable 'categories' zusammen setzen
      window.location = document.getElementById('filter-formular').action +
        '?tx_ttnews[cat]=' + categories;
    }
    Vg
    Clemens

  9. #9
    Forum Newbie
    Registriert seit
    21.05.2012
    Beiträge
    20

    AW: tt_news: Nachrichten filtern mit mehreren Kategorien

    lieber clemens,

    ich fange zwar mit deinem code direkt nichts an, aber die art wie er geschrieben ist, hat mir sehr geholfen meinen filter zu realisieren ;-)

    danke und lg XL

  10. #10
    Forum Zuschauer
    Registriert seit
    06.06.2011
    Beiträge
    3

    AW: tt_news: Nachrichten filtern mit mehreren Kategorien

    Das Problem ist, dass bei der
    Einstellung 2 (categorieMode=2)
    d.h. Filter mit Unterkategorien es nur angedacht war eine 'oder' Filterung durchzuführen

    -- d.h. es können auch noch weitere 'oder' Kategorien kommagetrennt hinzugefügt werden Bsp.: ?tx_ttnews[cat]=1,2,3,4
    (zB Subkategorien von 1->10 2->20,21 4->45 werden aufgelöst d.h. die definitive 'oder' Suche intern ist dann tx_ttnews[cat]=1,2,3,4,10,21,22,45 )

    was jetzt aber interessant ist, wäre eine Mischung von 'und' / 'oder' Modus d.h.
    zB Eintrag ist (1 oder 3) UND (2 oder 4) (mit Subkategorien) zugeordnet

    dazu wäre dann auch ein weiterer Seperator nötig -- ich habe '-' benutzt

    die GP Variable wäre dann ?tx_ttnews[cat]=1,3-2,4

    der Code wäre in class.tx_ttnews.php (typo3conf/ext/tt_news/pi) in "function displayList" unter
    "if ($excludeUids) { $where = ' AND tt_news.uid NOT IN (' . $excludeUids . ')';}" ca Zeile 636 hinzuzufügen

    (benutzt mit tt_news 3.0)

    PHP-Code:
                // if cat query parameter contains "-" execute uid query -- attach a "where clause" with .uid IN (list)
                
    if ( false !== strpos($this->piVars['cat'],'-') ) {
                     
    $catArray explode('-'$this->piVars['cat'].'-');
                     
                    if ( 
    strlen($catArray[1])>){

                        
    $this->piVars['cat'] = $catArray[1];
                        
    $this->initCategoryVars();
                        
    $selectConf $this->getSelectConf($where$noPeriod);
     
     
                        
    $includeUids = array();
                        if ((
    $res $this->exec_getQuery('tt_news'$selectConf))) { 
                        
                            while(
    $row $GLOBALS['TYPO3_DB']->sql_fetch_assoc($res)){
                                
    $includeUids[] = $row['uid'];
                            } 
                            
    $GLOBALS['TYPO3_DB']->sql_free_result($res);
                        } 
                        
                        
    $where .= ' AND tt_news.uid IN (' implode(','$includeUids) . ')';
                        
                        
    $this->piVars['cat'] = $catArray[0];
                        
    $this->initCategoryVars();               
                    }
                } 

 

 

Aktive Benutzer

Aktive Benutzer

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

Facebook Kommentare

Ähnliche Themen

  1. Artikel mit mehreren Kategorien nur einmal ausgeben
    Von lil-trick im Forum Extension modifizieren oder neu erstellen
    Antworten: 1
    Letzter Beitrag: 20.03.2011, 23:59
  2. tt_news rss feed aus mehreren kategorien -> URL
    Von xout im Forum News (tt_news, mininews und Co)
    Antworten: 1
    Letzter Beitrag: 01.11.2010, 19:58
  3. RSS aus tt_news mit mehreren Kategorien und logischer AND-verknüpfung
    Von Sampaguita im Forum News (tt_news, mininews und Co)
    Antworten: 0
    Letzter Beitrag: 07.10.2010, 15:52
  4. Direct Mail CSV-Import mit mehreren Kategorien pro User
    Von tomrakete im Forum Direct Mail
    Antworten: 1
    Letzter Beitrag: 26.05.2010, 09:43
  5. Startseite mit mehreren Kategorien
    Von biker5 im Forum News (tt_news, mininews und Co)
    Antworten: 4
    Letzter Beitrag: 05.04.2010, 18:56

Stichworte

Berechtigungen

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

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238