Ergebnis 1 bis 6 von 6

Thema: contao_memberlist - friends-of-contao

  1. #1
    Contao-Fan Avatar von dtptiger
    Registriert seit
    20.06.2009.
    Ort
    Nürnberg
    Beiträge
    817

    Standard contao_memberlist - friends-of-contao

    Hallo,

    ich möchte gerne die Initialsortierung der contao_memberlist - friends-of-contao Liste im Frontend beeinflußen, ich vermute das könnte ich im Template mod_memberlist machen.
    Doch egal as ich versuche (als PHP DAU), die Seite baut nicht mehr auf.

    Auf Zeile 29 und 30 steht im Template:
    PHP-Code:
    <input type="hidden" name="order_by" value="<?php echo $this->order_by?>">
    <input type="hidden" name="sort" value="<?php echo $this->sort?>">
    Mein versuch damit geht nicht:
    PHP-Code:
    <input type="hidden" name="order_by" value="<?php echo $this->order_by "lastname">">
    <input type="
    hidden" name="sort" value="<?php echo $this->sort asc>">
    Ein Freund der PHP sehr gut kennt meint das wären Contaotypische Konstrukte, und ohne Debugger kann er nicht erkennen wo die Abfrage genau passieren muß, aber das debuggen von Contaoaufrufen wäre sehr schwierig, also nix ging.

    Daher, könnte mir jemand eine Tip geben wie ich die Initialsortierung einbauen kann?

    Gruß
    dtptiger

  2. #2
    Wandelndes Contao-Lexikon Avatar von BugBuster
    Registriert seit
    15.06.2009.
    Ort
    Berlin
    Beiträge
    10.507
    User beschenken
    Wunschliste

    Standard

    Willst du die order ergänzen um weitere Felder oder ersetzen?
    Wenn ersetzen, dann probiere es doch direkt.

    Code:
    <input type="hidden" name="order_by" value="lastname">
    <input type="hidden" name="sort" value="asc">
    Andererseits, ich kenne die Erweiterung nicht, aber wenn es im Template Variablen sind, dann würde ich davon ausgehen, das man die irgendwo definieren kann.
    Geändert von BugBuster (07.03.2021 um 12:23 Uhr) Grund: Syntax Korrektur
    Grüße, BugBuster
    "view source" is your guide.
    Danke an alle Amazon Wunschlisten Erfüller

  3. #3
    Contao-Fan Avatar von dtptiger
    Registriert seit
    20.06.2009.
    Ort
    Nürnberg
    Beiträge
    817

    Standard

    Hallo BugBuster,

    Willst du die order ergänzen um weitere Felder oder ersetzen?
    Ich will vermutlich die order ergänzen, damit die lastname absteigend sortiert sind.

    Das ändert nichts:
    PHP-Code:
    <input type="hidden" name="order_by" value="lastname">
    <
    input type="hidden" name="sort" value="asc"
    Das ist das template mod_memerlist:
    PHP-Code:
    <div class="<?php echo $this->class?> ce_table listing block"<?php echo $this->cssID?><?php if ($this->style): ?> style="<?php echo $this->style?>"<?php endif; ?>>
    <?php if ($this->headline): ?>

    <<?php echo $this->hl?>><?php echo $this->headline?></<?php echo $this->hl?>>
    <?php endif; ?>

    <div class="list_search">
    <form action="<?php echo $this->action?>" method="get">
    <div class="formbody">
    <input type="hidden" name="order_by" value="<?php echo $this->order_by?>">
    <input type="hidden" name="sort" value="<?php echo $this->sort?>">
    <input type="hidden" name="per_page" value="<?php echo $this->per_page?>">
    <label for="ctrl_search" class="invisible"><?php echo $this->fields_label?></label>
    <select name="search" id="ctrl_search" class="select">
    <?php echo $this->search_fields?>
    </select>
    <label for="ctrl_for" class="invisible"><?php echo $this->keywords_label?></label>
    <input type="text" name="for" id="ctrl_for" class="text" value="<?php echo $this->for?>">
    <input type="submit" class="submit" value="<?php echo $this->search_label?>">
    </div>
    </form>
    </div>
    <?php if ($this->per_page): ?>

    <div class="list_per_page">
    <form action="<?php echo $this->action?>" method="get">
    <div class="formbody">

    <!-- 
    <input type="hidden" name="order_by" value="lastname">
    <input type="hidden" name="sort" value="asc">
     -->

    <input type="hidden" name="order_by" value="<?php echo $this->order_by?>">
    <input type="hidden" name="sort" value="<?php echo $this->sort?>">


    <input type="hidden" name="search" value="<?php echo $this->search?>">
    <input type="hidden" name="for" value="<?php echo $this->for?>">
    <label for="ctrl_per_page" class="invisible"><?php echo $this->per_page_label?></label>
    <select name="per_page" id="ctrl_per_page" class="select">
      <option value="10"<?php if ($this->per_page == 10): ?> selected="selected"<?php endif; ?>>10</option>
      <option value="20"<?php if ($this->per_page == 20): ?> selected="selected"<?php endif; ?>>20</option>
      <option value="30"<?php if ($this->per_page == 30): ?> selected="selected"<?php endif; ?>>30</option>
      <option value="50"<?php if ($this->per_page == 50): ?> selected="selected"<?php endif; ?>>50</option>
      <option value="100"<?php if ($this->per_page == 100): ?> selected="selected"<?php endif; ?>>100</option>
      <option value="250"<?php if ($this->per_page == 250): ?> selected="selected"<?php endif; ?>>250</option>
      <option value="500"<?php if ($this->per_page == 500): ?> selected="selected"<?php endif; ?>>500</option>
    </select>
    <input type="submit" class="submit" value="<?php echo $this->per_page_label?>">
    </div>
    </form>
    </div>
    <?php endif; ?>

    <table class="all_records">
    <thead>
      <tr>
    <?php foreach ($this->thead as $col): ?>
        <th class="head<?php echo $col['class']; ?>"><a href="<?php echo $col['href']; ?>" title="<?php echo $col['title']; ?>"><?php echo $col['link']; ?></a></th>
    <?php endforeach; ?>
        <th class="head col_last">&nbsp;</th>
      </tr>
    </thead>
    <tbody>
    <?php foreach ($this->tbody as $class=>$row): ?>
      <tr class="<?php echo $class?>">
    <?php foreach ($row as $col): ?>
    <?php 
    if ($col['field'] == 'username'): ?>
        <td class="body <?php echo $col['class']; ?>"><a href="<?php echo $this->url?>?show=<?php echo $col['id']; ?>"><?php echo $col['content']; ?></a></td>
    <?php else: ?>
        <td class="body <?php echo $col['class']; ?>"><?php echo $col['content']; ?></td>
    <?php endif; ?>
    <?php 
    endforeach; ?>
        <td class="body <?php echo $this->col_last?> col_last"><a href="<?php echo $this->url?>?show=<?php echo $col['id']; ?>"><img src="system/modules/memberlist/assets/details.gif" alt=""></a></td>
      </tr>
    <?php endforeach; ?>
    </tbody>
    </table>
    <?php echo $this->pagination?>

    </div>

  4. #4
    Wandelndes Contao-Lexikon Avatar von BugBuster
    Registriert seit
    15.06.2009.
    Ort
    Berlin
    Beiträge
    10.507
    User beschenken
    Wunschliste

    Standard

    Achso, das ist Teil eines Formulars, das müsste dann natürlich auch abgeschickt werden, dazu ist ja da wenn ich das richtig erkenne.
    Aber du willst ja initial die Reihenfolge anders haben, wenn es da keine Einstellungen in der Erweiterung selber gibt, wird das wohl nur durch Anpassung der Erweiterung gehen, nicht im Template.

    Das $row Array im Template zu sortieren vor dem foreach wird sicherlich auch gehen, aber das ist dann PHP gefrickel.
    Grüße, BugBuster
    "view source" is your guide.
    Danke an alle Amazon Wunschlisten Erfüller

  5. #5
    Contao-Fan Avatar von dtptiger
    Registriert seit
    20.06.2009.
    Ort
    Nürnberg
    Beiträge
    817

    Standard

    Habs im modul direkt geändert:

    $this->Template->search_fields = $strOptions;
    $order_by = \Input::get('order_by') ? \Input::get('order_by') . ' ' . \Input::get('sort') : 'username';

    Meine Lösung besteht darin im php des Moduls "username" gegen "lastname" auszutauschen.

    Ist zwar am core gefricklt und nicht update sicher, aber egal.
    Funktioniert.

    Gruß
    dtptiger

  6. #6
    Contao-Urgestein Avatar von Franko
    Registriert seit
    22.06.2009.
    Beiträge
    1.503
    Partner-ID
    6122

    Standard

    Für sowas eignet sich auch gut das Modul "Auflistung" s.a.:
    https://docs.contao.org/manual/de/gu...odule-listing/
    Freelancer, Digital Design Enthusiast, Contao Aficionado and Tutorial Junkie @MoinFranko - Carpe diem ...

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
  •