Ergebnis 1 bis 3 von 3

Thema: "totalCount" bei MetaModels Liste mit Begrenzung pro Seite und Filter

  1. #1
    Contao-Nutzer
    Registriert seit
    20.10.2010.
    Beiträge
    22

    Frage "totalCount" bei MetaModels Liste mit Begrenzung pro Seite und Filter

    Hallo

    Gibt es eine einfache Möglichkeit in einem Frontend-Metamodel-Listen Template die Gesamtanzahl der Einträge auszulesen.
    Ohne "Pagination" ja kein Problem, aber sobald ich z.b. auf 10 Einträge begrenze und dazu noch einen Filter verwende finde ich in keinem Template die Möglichkeit auf die Gesamtanzahl (totalCount) der Beiträge zuzugreifen...


    Ich hab den totalCount der mich interessieren würde in der Klasse "MetaModelList" gefunden (Variable $intTotal).
    Allerdings hab ich ohne Modifikationen keinen Weg gefunden diesen auszulesen?

    Vielleicht gibt es einen Weg, aber ich finde ihn nicht?

    Meine Modifikation ist im Moment folgende:

    In der Klasse MetaModelList folgende Variable / Funktion hinzufügen:

    PHP-Code:
        /*
         * stores global amount of Items
         */
        
    protected $totalCount false;


        
    /*
         * get Total Count after generate
        */
        
    public function getTotalCount() {
            return 
    $this->totalCount;
        } 
    die Funktion prepare() um eine Zeile zu erweitern...

    PHP-Code:
    //...
    $intTotal $this->objMetaModel->getCount($this->objFilter);
    $this->totalCount $intTotal// NEW
    $this->calculatePagination($intTotal);
    //... 
    und dann noch die compile Funktion der ModuleMetaModelList Klasse anpassen...

    PHP-Code:
    //..
    $this->Template->pagination $objItemRenderer->getPagination();
    $this->Template->itemsTotalCount $objItemRenderer->getTotalCount(); // NEW
    //.. 
    Vielen Dank schon mal fürs durchlesen...
    Und ich verwende übrigens den aktuellen Nightly Build, und Contao 2.11.x
    mfg Tom

  2. #2
    Contao-Urgestein Avatar von Tim G
    Registriert seit
    13.02.2010.
    Ort
    Lübeck
    Beiträge
    2.210
    User beschenken
    Wunschliste

    Standard

    Der effektivste Weg ist über Inserttags. Damit solch Werte auch ausserhalb des Templates frei einsetzbar sind.

    Ein PullRequest von mir liegt dafür bereits vor:
    https://github.com/MetaModels/core/pull/257

    Bis dahin:
    Schau dir in der Klasse mal an, wie der total count am besten ausgegeben wird:
    PHP-Code:
    $objMetaModel MetaModelFactory::byId(MM_ID);
    $objFilter $objMetaModel->prepareFilter(FILTER_ID-OR-NULL,$_GET);
    return 
    $objMetaModel->getCount($objFilter); 
    Geändert von Tim G (04.09.2013 um 14:51 Uhr)
    http://www.tim-gatzky.de ˙ auch schon wieder 2 Jahre alt - wie die Zeit vergeht... muss mal umbauen.

  3. #3
    Contao-Nutzer
    Registriert seit
    20.10.2010.
    Beiträge
    22

    Standard

    Danke für die Info
    PHP-Code:
    $objFilter $objMetaModel->prepareFilter($objResult->metamodel_filtering,$_GET); 
    Die Zeile ist mir abgegangen

    Das mit den Inserttags wär spitze...

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
  •