+ Antworten
Ergebnis 1 bis 10 von 10

Thema: Klassen für Pagination/Seitenaufteilung und Filter

  1. #1
    War schon öfter hier
    Registriert seit
    16.01.2008
    Beiträge
    182
    Bedankte sich
    46
    Erhielt 7 Danksagungen
    in 5 Beiträgen

    Standard Klassen für Pagination/Seitenaufteilung und Filter

    Hallo,
    kennt jemand, bzw. gibt es in J! eine fertige Klassen oder Methoden, die
    man in eine Datei (z.B. views/default.php oder tables/compo.php?),
    einbinden kann, um ein Seitenlayout
    # mit "Anzeige" "Start" "Zurück" 1 2 3 ... "Weiter" "Ende"
    und
    # einem "Filter"
    für Back- oder/und Frontend zu realisieren?

    Aus einer Analyse der com_contact werde ich (momentan) nicht "schlau" ...
    z.B. da sie nicht wie meine Komponente ein views-Verzeichnis hat und mit admin.contact.html.php arbeitet.

    J! 1.15.21

    Danke für Tipps und Hilfen,
    Grüße, w.
    Geändert von wejo (09.11.2010 um 08:46 Uhr)

  2. #2
    Wohnt hier Avatar von oldlady
    Registriert seit
    17.09.2008
    Ort
    München
    Beiträge
    4.848
    Bedankte sich
    357
    Erhielt 1.408 Danksagungen
    in 1.289 Beiträgen

    Standard

    Vielleicht hier in der Joomla documentation
    Grüße, Christiane
    Joomla braucht dich!

  3. Erhielt Danksagungen von:


  4. #3
    Hat hier eine Zweitwohnung Avatar von JoomDesign
    Registriert seit
    19.03.2006
    Ort
    Berlin, Deutschland
    Beiträge
    1.927
    Bedankte sich
    269
    Erhielt 594 Danksagungen
    in 511 Beiträgen

    Standard

    Zitat Zitat von wejo Beitrag anzeigen
    Aus einer Analyse der com_contact werde ich (momentan) nicht "schlau" ...
    z.B. da sie nicht wie meine Komponente ein views-Verzeichnis hat und mit admin.contact.html.php arbeitet.
    Die com_weblinks eignet sich besser zur Analyse des MVC Konzeptes in Joomla.

  5. #4
    War schon öfter hier
    Registriert seit
    16.01.2008
    Beiträge
    182
    Bedankte sich
    46
    Erhielt 7 Danksagungen
    in 5 Beiträgen

    Standard

    Hallo,
    Danke oldlady - hat nach dem Artikel prima geklappt.

    und Danke joom_mob-i-co,
    werd ich Mal anschauen.

    Jetzt "nur" noch nach den Backen-Komponenten-Filter bauen ...


    viele Grüße, w.

  6. #5
    Hat hier eine Zweitwohnung Avatar von JoomDesign
    Registriert seit
    19.03.2006
    Ort
    Berlin, Deutschland
    Beiträge
    1.927
    Bedankte sich
    269
    Erhielt 594 Danksagungen
    in 511 Beiträgen

    Standard

    Hallo wejo,
    hier mal die wichtigsten Punkte für die Filterfunktion:

    Textfeld in view.html.php erstellen
    PHP-Code:
    <?php
    $site     
    = &JFactory::getApplication(); // global $mainframe;
    $search $site->getUserStateFromRequest$option.'search''search''''string' );
    $search JString::strtolower$search );

    $lists['search']= $search// Textfeld
    $this->assignRef('lists'$lists); // an Template übergeben
    ?>
    Die Ausgabe erfolgt dann in der default.php
    HTML-Code:
    <table>
    	<tr>
    		<td align="left" width="100%">
    			<?php echo JText::_( 'Filter' ); ?>:
    			<input type="text" name="search" id="search" value="<?php echo $this->lists['search'];?>" class="text_area" onchange="document.adminForm.submit();" />
    			<button onclick="this.form.submit();"><?php echo JText::_( 'Go' ); ?></button>
    			<button onclick="document.getElementById('search').value='';this.form.submit();"><?php echo JText::_( 'Reset' ); ?></button>
    		</td>		
    	</tr>
    </table>
    Verarbeiten der Daten in deinmodel.php in der function _buildContentWhere()
    Beispiel in der /administrator/components/com_weblinks/models/weblinks.php

    PHP-Code:
    <?php
    $site     
    = &JFactory::getApplication(); // global $mainframe;
    $search $site->getUserStateFromRequest$option.'search''search''''string' );
    $search JString::strtolower$search );
    if (
    $search) :
        
    $where[] = 'LOWER(a.title) LIKE '.$this->_db->Quote('%'.$search.'%');
    endif;
    ?>
    $where[] = 'LOWER(a.title) LIKE '.$this->_db->Quote('%'.$search.'%');
    Der grüne Wert ist das Feld der DB-Tabelle welches für den Filter durchsucht wird.

    Wenn Du dich an die bereits genannte Komponente 'com_weblinks' hälst solltest Du bei Umsetzung keine Probleme haben.

  7. Erhielt Danksagungen von:


  8. #6
    Moderator Avatar von Lacki
    Registriert seit
    27.04.2006
    Ort
    Direkt um die Ecke
    Beiträge
    8.739
    Bedankte sich
    337
    Erhielt 3.615 Danksagungen
    in 2.974 Beiträgen

    Standard

    Moin.
    Habe den Thread mal in den Forenbreich Joomla Entwicklungsumgebung verschoben, hier schauen Joomla Entwickler auch häufiger vorbei.
    @Wejo: Normalerweise hätte ich Dich darüber per PM infomiert, das hast Du aber deaktiviert.

  9. #7
    War schon öfter hier
    Registriert seit
    16.01.2008
    Beiträge
    182
    Bedankte sich
    46
    Erhielt 7 Danksagungen
    in 5 Beiträgen

    Standard

    Hallo,
    Danke -

    funktioniert aber bei mir leider nicht -
    ein Filterstring, wie z.B. "aufgabe" ergibt keine Ergebniseinschränkung.

    > ...

    wo könnte es haken?

    Dank nochmal,
    viele Grüße, w.
    Geändert von wejo (09.11.2010 um 09:20 Uhr) Grund: nicht wichtig

  10. #8
    Hat hier eine Zweitwohnung Avatar von JoomDesign
    Registriert seit
    19.03.2006
    Ort
    Berlin, Deutschland
    Beiträge
    1.927
    Bedankte sich
    269
    Erhielt 594 Danksagungen
    in 511 Beiträgen

    Standard

    Ist das deine komplette _buildContentWhere()? Da fehlt was!
    Hast Du dir das weblinks-Model angesehen?

    Ich hatte nur den Rest weggelassen, da es ja in der Weblinks nachvollziehbar ist.


    // edit das $where[] erstellt ein Array und wird später zum WHERE-Query.
    PHP-Code:
    $where         = ( count$where ) ? ' WHERE 'implode' AND '$where ) : '' ); 
    Geändert von JoomDesign (08.11.2010 um 15:36 Uhr)

  11. Erhielt Danksagungen von:


  12. #9
    War schon öfter hier
    Registriert seit
    16.01.2008
    Beiträge
    182
    Bedankte sich
    46
    Erhielt 7 Danksagungen
    in 5 Beiträgen

    Standard

    Hallo joom_mob-i-co,
    ...
    PHP-Code:
    $where         = ( count$where ) ? ' WHERE 'implode' AND '$where ) : '' ); 
    genau! Das fehlte / habe ich nicht beachtet
    ...
    super! jetzt klappts.
    Danke!
    Gruß, w.
    Geändert von wejo (09.11.2010 um 08:45 Uhr)

  13. #10
    Hat hier eine Zweitwohnung Avatar von JoomDesign
    Registriert seit
    19.03.2006
    Ort
    Berlin, Deutschland
    Beiträge
    1.927
    Bedankte sich
    269
    Erhielt 594 Danksagungen
    in 511 Beiträgen

    Standard

    Na denn...

    Wenn es dann gelöst ist, markiere den Thread doch bitte auch für andere Suchende.

    1. Beitrag -> bearbeiten - > Erweitert -> Suffix vor dem Titel 'gelöst'.

    Danke

+ Antworten

Lesezeichen

Berechtigungen

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