Neuigkeiten
  • Die modified eCommerce Shopsoftware ist kostenlos, aber nicht umsonst.
    Spenden
  • Damit wir die modified eCommerce Shopsoftware auch zukünftig kostenlos anbieten können:
    Spenden
  • Thema: Frage zu data-event="" in einer Liste

    awids

    • Experte
    • Beiträge: 3.785
    • Geschlecht:
    Frage zu data-event="" in einer Liste
    am: 21. Dezember 2020, 21:26:51
    Ich gebe eigentlich lieber die Antworten vor, aber heute habe tatsächlich auch ich mal eine Frage.   :-O Wahrscheinlich ist die Antwort darauf so einfach, dass ich mich hier nach der Beantwortung vor Scham ein paar Wochen nicht mehr blicken lassen kann, aber das nehme ich mal in Kauf.  :-D

    Ich habe eine Liste am Vorbild der categories_view.php erstellt:

    Code: PHP  [Auswählen]
                     if (((!isset($_GET['cID']) || $_GET['cID'] == '') && !isset($_GET['pID']) || (isset($_GET['cID']) && ($_GET['cID'] == $categories['categories_id']))) && !isset($cInfo) && (substr($action, 0, 4) != 'new_') ) {
                       $cInfo = new objectInfo($categories);
                     }
                     if (isset($cInfo) && is_object($cInfo) && ($categories['categories_id'] == $cInfo->categories_id) ) {
                         echo '<tr class="dataTableRowSelected" onmouseover="this.style.cursor=\'pointer\'" data-event="'.xtc_href_link(FILENAME_CATEGORIES, xtc_get_all_get_params(array ('cID', 'pID', 'action')).'cID='.$cInfo->categories_id.'&action=edit_category').'">' . "\n";
                     } else {
                         echo '<tr class="dataTableRow" onmouseover="this.className=\'dataTableRowOver\';this.style.cursor=\'pointer\'" onmouseout="this.className=\'dataTableRow\'" data-event="'.xtc_href_link(FILENAME_CATEGORIES, xtc_get_all_get_params(array ('cID', 'pID')).'cID='.$categories['categories_id']).'">' . "\n";
                     }

    und die $_GET-Parameter, $categories['categories_id'] und den Link im data-event="" durch meine eigenen Angaben ersetzt.

    Die Zeilenauswahl über den Button in meiner Spalte "Aktionen" funktioniert. In der rechten Spalte werden mir dann auch Informationen aus dem dem Object "$cInfo" angezeigt, aber das data-event="" will einfach nicht "zünden", d. h. die Zeilenverlinkung funktioniert nicht. (Man könnte das zwar mit onClick="document.location.href='URL'" umgehen, aber dann funktionieren die Checkboxen in Spalte 1 nicht mehr.)

    Ist das Attribut data-event eventuell nur für Kategorien und Bestellungen nutzbar? Wenn ja, wo ist das definiert?

    Oder was mache ich falsch?

    Linkback: https://www.modified-shop.org/forum/index.php?topic=41543.0

    awids

    • Experte
    • Beiträge: 3.785
    • Geschlecht:
    Re: Frage zu data-event="" in einer Liste
    Antwort #1 am: 21. Dezember 2020, 21:44:05
    Wie peinlich...  :doh: 2 Tage suche ich wie ein Irrer und kaum traue ich mich zu fragen, finde ich das am Ende der categories_view.php:

    Code: Javascript  [Auswählen]
          <script>
            var action = false;
            $('.dataTableRow, .dataTableRowSelected, .dataTableRow a, .dataTableRowSelected a, .dataTableRow .ChkBox, .dataTableRowSelected .ChkBox').on('change, click', function (e) {          
              if (this.nodeName == 'A' || this.nodeName == 'INPUT') {
                action = true;
              }
              if (action === false && this.nodeName == 'TR') {
                var loc = $(this).data('event');
                if (loc !== undefined) {
                  window.location.href = loc;
                }
              }
              if (this.nodeName == 'TR') {
                action = false;
              }
            });
          </script>

    Ich gehe mich mal eben irgendwo vergraben.  :flee-mrgreen:
    Templateshop - Eine große Auswahl an neuen und modernen Templates für die modified eCommerce Shopsoftware
               
    anything