Community
    • Categories
    • Recent
    • Popular
    • Users
    • Search
    • Register
    • Login

    Barcode –> keine URL sondern Objektinformationen

    Scheduled Pinned Locked Moved Entwicklung
    12 Posts 2 Posters 4.0k Views 1 Watching
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • dsD Offline
      ds
      last edited by

      Hi,
      die Datei die du dort geändert hast ist ein Smarty Cache. Es ist sinnvoller das Template selber (main_objectdetail.tpl) zu editieren, da die Änderung beim nächste Cache refresh wieder überschrieben ist.

      Gruß,
      ds

      1 Reply Last reply Reply Quote 0
      • DigiDanielD Offline
        DigiDaniel
        last edited by

        Puh okay!

        Aber wie binde ich den Code da ein, einfaches Copy&Paste reicht/funktioniert da leider nicht! )=

        1 Reply Last reply Reply Quote 0
        • dsD Offline
          ds
          last edited by

          Du kannst deinen Code in einen Php-Block setzen: [{php}]hier dann den code rein[{/php}], anstelle von und anstatt  $_qr_ausgabe = dann einfach echo

          1 Reply Last reply Reply Quote 0
          • DigiDanielD Offline
            DigiDaniel
            last edited by

            Hallo!

            Ich poste hier nun nochmal den richtigen Code inkl. dem JavaScript öffnen des Barcodes.

            • main_objecttype.tpl unter \i-doit\src\themes\default\smarty\templates\content\top
            [{php}]#aktuelle Objekt-ID
                $_qr_objid = $_GET['objID'];   
            
                #benoetigte ID
                $_qr_abfrage = "SELECT isys_catg_model_list__isys_model_title__id FROM isys_catg_model_list WHERE isys_catg_model_list__isys_obj__id = ($_qr_objid)";
                $_qr_ergebnis = mysql_query($_qr_abfrage);
                while($_qr_row = mysql_fetch_object($_qr_ergebnis))
            {
                $_qr_id = $_qr_row->isys_catg_model_list__isys_model_title__id;
            };
            
                # Bezeichnung selektieren
                $_qr_abfrage = "SELECT isys_model_title__title FROM isys_model_title WHERE isys_model_title__id = ($_qr_id)";
                $_qr_ergebnis = mysql_query($_qr_abfrage);
                while($_qr_row = mysql_fetch_object($_qr_ergebnis))
            {
                $_qr_bezeichnung = $_qr_row->isys_model_title__title;
            };
            
                #Seriennummer selektieren
                $_qr_abfrage = "SELECT	isys_catg_model_list__serial FROM 	isys_catg_model_list WHERE isys_catg_model_list__isys_obj__id = ($_qr_objid)";
                $_qr_ergebnis = mysql_query($_qr_abfrage);
                while($_qr_row = mysql_fetch_object($_qr_ergebnis))
            {
                $_qr_sn = $_qr_row->isys_catg_model_list__serial;
            }; 
            
                #Firmware selektieren
                $_qr_abfrage = "SELECT	isys_catg_model_list__firmware  FROM 	isys_catg_model_list WHERE isys_catg_model_list__isys_obj__id = ($_qr_objid)";
                $_qr_ergebnis = mysql_query($_qr_abfrage);
                while($_qr_row = mysql_fetch_object($_qr_ergebnis))
            {
                $_qr_fw = $_qr_row->isys_catg_model_list__firmware ;
            };
            
                #Beschreibung selektieren
                $_qr_abfrage = "SELECT	isys_obj__description  FROM 	isys_obj WHERE isys_obj__id = ($_qr_objid)";
                $_qr_ergebnis = mysql_query($_qr_abfrage);
                while($_qr_row = mysql_fetch_object($_qr_ergebnis))
            {
                $_qr_beschreibung = $_qr_row->isys_obj__description;
            };
            
                $_qr_ausgabe = "Name: ".$this->_plugins['function']['isys'][0][0]->smarty_function_isys(array('type' => 'f_data','name' => 'C__CATG__TITLE','p_plain' => 1), $this)."%0ABezeichnung: ".$_qr_bezeichnung."%0ASN: ".$_qr_sn."%0AFW: ".$_qr_fw."%0A%0ABeschreibung:%0A".$_qr_beschreibung;  
            [{/php}]
            

            Hier werden wieder die Daten, die später im Barcode angezeigt werden sollen, per mysql abgefragt und in die Variable $_qr_ausgabe gespeichert. Die Zeilen bitte irgendwo am Anfang einfüen.

             [![](src/tools/php/qr/qr_img.php?d=[{php}] echo $_qr_ausgabe; [{/php}]&s=1)](javascript:;) 
            

            Hier wird $_qr_ausgabe (also die gewünschten Daten) übergeben, sodass der Barcode dementsprechend angezeigt wird. Die vorhandenen Zeilen hier bitte ersetzen. Mit der Variablen "s" kann man hier jeweils für den Barcode auf der Übersichtsseite und den per Klick angezeigten die Größe einstellen.

            • qr.php unter \i-doit\src\tools\php\qr
            $l_urldaten = http_build_query($_GET);      /*Daten fuer den Barcode aus der URL holen. */
            $l_barcodedaten = substr($l_urldaten, 6);   /*"obID=" entfernen. Darf nur hier und nicht in main_objectdetail entfernt werden! */
            

            und

            ![](qr_img.php?d=<?php)" border="0" />
            

            Beides bitte in der Datei ersetzen.

            So, fertig! (=

            1 Reply Last reply Reply Quote 0
            • dsD Offline
              ds
              last edited by

              Du solltest die Objekt-ID lieber aus dem _GET array entfernen, das ist sauber und sicherer. Also ungefähr so:

              unset($_GET['objID']);
              $l_barcodedaten = http_build_query($_GET);

              1 Reply Last reply Reply Quote 0
              • DigiDanielD Offline
                DigiDaniel
                last edited by

                Die Objekt-ID wird doch gar nicht übergeben? Doch nur Name, Bezeichnung, Seriennummer Beschreibung und Firmware?

                1 Reply Last reply Reply Quote 0
                • dsD Offline
                  ds
                  last edited by

                  Es geht um die URL. Du schreibst hier, dass du die Objekt ID folgendermaßen entfernst: "$l_barcodedaten = substr($l_urldaten, 6);  /*"obID=" entfernen. Darf nur hier und nicht in main_objectdetail entfernt werden! */"
                  Das kann aber in die Hose gehen mit substr().

                  1 Reply Last reply Reply Quote 0
                  • DigiDanielD Offline
                    DigiDaniel
                    last edited by

                    Die Sache ist die, dass die Objekt-ID hier eigentlich gar nicht übergeben wird.

                    Man kann "objID" auch durch "blablabla" ersetzen. Entferne ich dies aber ganz (also nur …qr.php?[{php}] echo $_qr_ausgabe; [{/php}]) wird mir der Text im Barcode so

                    A_DFSR_Internetdaten_1#Bezeichnung:_Proliant_DL380_G7#SN:_CZ2112089Q#FW:_8_70##Beschreibung:#=
                    (also mit lauter Unterstrichen)

                    und nicht so

                    Name: DFSR Internetdaten 1#Bezeichnung: Proliant DL380 G7#SN: CZ2112089Q#FW: 8.70##Beschreibung:#

                    angezeigt!

                    1 Reply Last reply Reply Quote 0
                    • dsD Offline
                      ds
                      last edited by

                      Das mit den Unterstrichen kann aber schlecht durch die Änderung gekommen sein

                      1 Reply Last reply Reply Quote 0
                      • DigiDanielD Offline
                        DigiDaniel
                        last edited by

                        Ich weiß nicht woher das kommt! (=

                        Auf jeden Fall sind die Unterstriche da, wenn man vor den Text für die Ausgabe keine "irgendeintextoderauchnurbuchstabe=" setzt. ^^

                        1 Reply Last reply Reply Quote 0
                        • First post
                          Last post