+ Antworten
Seite 1 von 2 1 2 LetzteLetzte
Ergebnis 1 bis 10 von 12

Thema: Mein erstes Modul. Frage zum Backend Design

  1. #1
    War schon öfter hier
    Registriert seit
    09.03.2012
    Alter
    33
    Beiträge
    224
    Bedankte sich
    65
    Erhielt 0 Danksagungen
    in 0 Beiträgen

    Standard Mein erstes Modul. Frage zum Backend Design

    fgsfhdghjdghjgdfhjgdthj
    Geändert von BamiGorengo (03.01.2016 um 03:10 Uhr)

  2. #2
    Gehört zum Inventar Avatar von Re:Later
    Registriert seit
    21.04.2014
    Ort
    Berlin
    Beiträge
    5.817
    Bedankte sich
    156
    Erhielt 2.263 Danksagungen
    in 2.030 Beiträgen

    Standard

    PHP-Code:
    if ($params->get('show_time'1)) 
    bedeutet nicht

    "Wenn show_time gleich eins ist"

    sondern

    "Wenn es in den $params den Parameter show_time gar nicht gibt (wenn null zurückkommt (nicht zu verwechseln mit 0)), dann nehme 1"

    Damit sind deine if alle wahr (alle true) (EDIT: Na ja, fast immer jedenfalls).

    Parameter show_time gar nicht gibt: Das kann durchaus vorkommen, bspw. in einem Plugin, das nur aktiviert wurde, aber vom Benutzer noch gar nicht geöffnet/gespeichert.

    Oder du machst ein Update deines Moduls mit einem neuen Parameter tue_das,
    mit einem default="jenes" in der XML,
    Dann holt man sich die Grundeinstellung im PHP

    PHP-Code:
    $tue_das $params->get('tue_das''jenes'); 
    für den Fall, wo User, die das Modul schon laufen haben es aber nach Update nicht neu gespeichert haben.

    Nur so als Tipp: Man nimmt dann am besten eine Default-Einstellung, die nicht 100e User verärgert, weil sie
    plötzlich sonstwas auf der Seite zusätzlich im Modul haben, was sie zuvor nicht hatten.
    Wenn Joomla-Core bspw. neue Features einführt, wird darauf geachtet, dass so was nicht passiert ("Rückwärtskompatibilität").
    Was sowohl im XML als auch PHP entsprechend berücksichtigt werden muss.


    PHP-Code:
    if ($tue_das == 'jenes')
    {
     ... 
    tue jenes ...
    }
    elseif(
    $tue_das == 'dieses')
    {
     ... 
    tue dieses ...
    }
    else
    {
     ... 
    tue keine Ahnung...

    Bedenkt das ich absoluter Anfänger bin was PHP angeht
    Das ist nebenbei etwas sehr Joomla-spezifisches. Die so genannten Registry-Objekte, die u.a. Parameterabfragen sehr erleichtern. Doll das!
    Geändert von Re:Later (22.12.2015 um 16:58 Uhr)

  3. #3
    War schon öfter hier
    Registriert seit
    09.03.2012
    Alter
    33
    Beiträge
    224
    Bedankte sich
    65
    Erhielt 0 Danksagungen
    in 0 Beiträgen

    Standard

    fdfgfdhgfgthfgh
    Geändert von BamiGorengo (03.01.2016 um 03:10 Uhr)

  4. #4
    War schon öfter hier
    Registriert seit
    09.03.2012
    Alter
    33
    Beiträge
    224
    Bedankte sich
    65
    Erhielt 0 Danksagungen
    in 0 Beiträgen

    Standard

    Hab ich es richtig verstanden und umgesetzt? oder ist da noch ein Fehler drin?

  5. #5
    Gehört zum Inventar Avatar von Re:Later
    Registriert seit
    21.04.2014
    Ort
    Berlin
    Beiträge
    5.817
    Bedankte sich
    156
    Erhielt 2.263 Danksagungen
    in 2.030 Beiträgen

    Standard

    Vollkommen korrekt dein Code.

    So hätte ich wahrscheinlich gemacht (hoffe, habe keinen Tippfehler drin. nicht getestet.)
    PHP-Code:
    <?php if ($showTime) : ?>

     <?php if ($showTime == 1) : ?>
        <time class="dev-time" datetime="<?php echo $item->created?>">
            <?php echo $item->dev_cat_date_created?>
        </time>

     <?php elseif ($showTime == 2) : ?>
        <time class="dev-time" datetime="<?php echo $item->publish_up?>">
            <?php echo $item->dev_cat_date_published?>
        </time>

     <?php elseif ($showTime == 3) : ?>
        <time class="dev-time" datetime="<?php echo $item->modified?>">
            <?php echo $item->dev_cat_date_modified?>
        </time>
     <?php endif; ?>

    <?php endif; ?>
    Bisschen performanter, "schneller" wäre (denk ich zumindest) für viele Fälle, wenn du wie bei deinem ersten Entwurf um alle ifs noch ein if drumlegst, ob überhaupt was zu tun ist.

    Hier kann man sich das == sparen, da 0, '0', Leerstring, false bei der vereinfachten Anweisung nicht durchgehen.
    Und dein OFF ja 0 ist oder '0'.

    Und mit elseif wie zu sehen vermutlich noch einen Tick schneller, da nicht weiter ausgeführt wird, wenn ein if oder elseif erfüllt ist (denk ich zumindest).

    Das bringt für das einzelne Modul zwar keine merklichen Performancevorteile.

    Man bewegt sich ja aber in einem Umfeld, in dem viele Erweiterungen, Codes zusammenwirken.

    Man weiß nicht wie viele Beiträge jemand im Modul anzeigen lässt. Jeder durchläuft diesen Code.

    Da summieren sich dann die Millisekunden
    Geändert von Re:Later (23.12.2015 um 02:06 Uhr)

  6. #6
    War schon öfter hier
    Registriert seit
    09.03.2012
    Alter
    33
    Beiträge
    224
    Bedankte sich
    65
    Erhielt 0 Danksagungen
    in 0 Beiträgen

    Standard

    srfgshsfghsfgh
    Geändert von BamiGorengo (03.01.2016 um 03:10 Uhr)

  7. #7
    Gehört zum Inventar Avatar von Re:Later
    Registriert seit
    21.04.2014
    Ort
    Berlin
    Beiträge
    5.817
    Bedankte sich
    156
    Erhielt 2.263 Danksagungen
    in 2.030 Beiträgen

    Standard

    Schon möglich, dass ich einen (Tipp- oder Denk-) Fehler drin habe.


    Datum:
    Sei das Feld
    date_format
    mit
    default="d.m.Y H:i:s"

    $date_format = $params->get('date_format', 'd.m.Y H:i:s');

    echo JHtml::_('date', $item->created, $date_format);

    Auch typisch Joomla (JHtml-Methoden), aber Datumsformate analog wie in der PHP-date()-Funktion
    http://php.net/manual/de/function.date.php

  8. #8
    War schon öfter hier
    Registriert seit
    09.03.2012
    Alter
    33
    Beiträge
    224
    Bedankte sich
    65
    Erhielt 0 Danksagungen
    in 0 Beiträgen

    Standard

    asfddfgsfgsfghfsgh
    Geändert von BamiGorengo (03.01.2016 um 03:10 Uhr)

  9. #9
    War schon öfter hier
    Registriert seit
    09.03.2012
    Alter
    33
    Beiträge
    224
    Bedankte sich
    65
    Erhielt 0 Danksagungen
    in 0 Beiträgen

    Standard

    Ich weiß... es sind feiertage... aber echt niemand eine idee?

  10. #10
    War schon öfter hier
    Registriert seit
    09.03.2012
    Alter
    33
    Beiträge
    224
    Bedankte sich
    65
    Erhielt 0 Danksagungen
    in 0 Beiträgen

    Standard

    aja gut dann lassen wir das. dann binden wir eben den kram auf bauern ebene ein und verbreiten schrott Extensions. Thema bitte löschen. (da nix sinnvolles für googeler zu finden hier)

+ Antworten
Seite 1 von 2 1 2 LetzteLetzte

Berechtigungen

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