Modulshop - Eine große Auswahl an neuen und hilfreichen Modulen für die modified eCommerce Shopsoftware
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: MODUL: Bestellstatus Kommentare - order_status_comments

    karl

    • Schreiberling
    • Beiträge: 439
    Hallo,
    sollte hier das Modul neu rein stellen.

    Kurze Funktionsbeschreibung:

    Modul beinhaltet eine eigene Seite zum Verwalten der Title & Kommentare. Nun kann man Standard-Text-Vorlagen für den Bestellstatus erstellen, speichern, löschen und ändern. Dafür steht nun eine eigene Seite zur Verfügung, wie von der orders_status.php gewohnt.

    Bei Veränderung des Bestellstatus kann man nun per Drop-Down auswählen, welchen Text man in der textarea haben will um den Kunden zu informieren. Der Text wird per vergebener Title im Dropdown angezeigt. Bei Auswahl erscheint dieser im Textfeld und lässt sich vor dem Abschicken u.U. noch anpassen.

    Neue Seite orders_status_comments.php
    • Texte einfügen
    • Texte löschen
    • Texte bearbeiten
    • Übersicht in einer Liste
    • wenn markiert Anzeige in rechter Box title/text

    Detailseite orders
    • pulldown Anzeige der Title > Text auswählen
    • Anzeige des gewählten Titel wenn ausgewählt
    • Text kann vor Absenden bearbeitet werden ohne Speicherung/Veränderung der Vorlage

    Orders Übersicht >> Wenn Multiorder installiert:
    • pulldown für text auswählen
    • Anzeige des gewählten Titel wenn ausgewählt
    • ohne neues Laden der Seite Anzeige im Textfeld
    • Text kann vor Absenden bearbeitet werden ohne Speicherung/Veränderung der Vorlage

    Das Textfeld lässt sich natürlich auch ohne Vorlage weiter verwenden, für eine freie Eingabe.

    [EDIT Tomcraft 22.12.2014: Fehler in Anleitung korrigiert.]
    [EDIT Tomcraft 23.12.2014: Modul überarbeitet.]
    [EDIT Tomcraft 24.12.2014: Modul überarbeitet.]
    [EDIT Tomcraft 28.12.2014: Modul überarbeitet, Danke an noRiddle.]
    [EDIT Tomcraft 05.01.2015: Anleitung in Modul überarbeitet, Danke an Spegeli.]
    [EDIT Tomcraft 05.01.2015: Anleitung in Modul überarbeitet, Danke an Spegeli.]
    [EDIT Tomcraft 21.01.2015: Anleitung in Modul überarbeitet, Danke an kgd.]
    [EDIT Tomcraft 02.02.2015: Fehler in Modul korrigiert, Danke an matchangler.]

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

    Tomcraft

    • modified Team
    • Gravatar
    • Beiträge: 46.177
    • Geschlecht:
    Re: MODUL: Bestellstatus Kommentare - order_status_comments
    Antwort #1 am: 27. Mai 2013, 18:06:05
    Danke für's teilen! :thx:

    Vielleicht kann sich nochmal jemand die Probleme aus der Readme vornehmen:

    Zitat
    [...]
     Bestehende Fehler:

       Detailseite mußte doch eine eigene Abfrage (array) erhalten.
       Texte werden per Seiten-Aktuallisierung in die texarea geladen.
       Ohne dem zusätzlichen array werden keine Mails versendent und der neue Status & Text nicht übernommen.

       Sprachdatei geht nur ID 2 - german. Fehler nicht gefunden, evtl. nur lokal bei mir.
    [...]

    Grüße

    Torsten

    Modulfux

    • Experte
    • Beiträge: 3.590
    • Geschlecht:
    Re: MODUL: Bestellstatus Kommentare - order_status_comments
    Antwort #2 am: 27. Mai 2013, 19:45:57
    Screenshots wären noch ganz hilfreich.

    Gruß
    Ronny

    mollvision

    • Schreiberling
    • Beiträge: 356
    • Geschlecht:
    Re: MODUL: Bestellstatus Kommentare - order_status_comments
    Antwort #3 am: 28. September 2013, 00:24:52
    Hallo,

    ich habe das Modul installiert.

    Es läuft leider nicht.

    Habe folgendes Problem:

    Wenn ich in der colum_left wie in der Anleitung den Eintrag vornehme, bekomme ich den Button im Admin nicht angezeigt.
    Wenn ich allerdings den Eintrag von:

    Code: PHP  [Auswählen]
      if (($_SESSION['customers_status']['customers_status_id'] == '0') && ($admin_access['orders_status_comments'] == '1')) echo '<li><a href="' . xtc_href_link(FILENAME_ORDERS_STATUS_COMMENTS, '', 'NONSSL') . '" class="menuBoxContentLink"> -' . BOX_ORDERS_STATUS_COMMENTS . '</a></li>';

    auf:

    Code: PHP  [Auswählen]
      if (($_SESSION['customers_status']['customers_status_id'] == '0') && ($admin_access['orders_status'] == '1')) echo '<li><a href="' . xtc_href_link(FILENAME_ORDERS_STATUS_COMMENTS, '', 'NONSSL') . '" class="menuBoxContentLink"> -' . BOX_ORDERS_STATUS_COMMENTS . '</a></li>';

    ändere (Wobei mir klar ist das meine änderung nicht richtig ist - Da der order_status eintrag doppelt wäre und bezug auf das Orderstatus Modul hat. Aber evtl. hilft es bei der Fehlersuche.),

    wird  der Link-Button mit "-Bestellstaus Texte" angezeigt.
    Bei klick auf den Button erhalte ich eine weisse Seite.

    Laut Anleitung soll in lang/german/admin/ eine Datei (orders_status_comments.php) erstellt werden.
    ich habe ebenso in der  lang/english/admin/ die gleiche Datei erstellt.

    Beim nochmaligen klick auf den Bestellstatus Texte Button erhalte ich nun eine 500 Fehlermeldung.

    Zitat
    Internal Server Error

    The server encountered an internal error or misconfiguration and was unable to complete your request.

    Please contact the server administrator, [no address given] and inform them of the time the error occurred, and anything you might have done that may have caused the error.

    More information about this error may be available in the server error log.

    Auch bekomme ich die "Orders Status Comments" nicht bei den Adminrechten angezeigt.
    (Hatte die Idee, dass ich die erst aktivieren müsste.)

    Was könnte das sein?

    PS: Schreibrechte habe ich vergeben (755)

    Evtl überprüft das jemand.

    Gruss Wolfgang

    Ich werde dann wohl noRiddle's Modul nehmen: MODUL: Kommentarvorlagen, Textvorlagen für E-Mails an Kunden aus Bestellung

    Tomcraft

    • modified Team
    • Gravatar
    • Beiträge: 46.177
    • Geschlecht:
    Re: MODUL: Bestellstatus Kommentare - order_status_comments
    Antwort #4 am: 22. Dezember 2014, 16:27:10
    Die Anleitung war hier fehlerhaft!

    Führe mal bitte folgenden Befehl per phpMyAdmin aus:

    Code: SQL  [Auswählen]
    ALTER TABLE admin_access DROP orders_status_comments;
    ALTER TABLE admin_access ADD orders_status_comments INT(1) NOT NULL DEFAULT 0 AFTER orders_status;
    UPDATE admin_access SET orders_status_comments = 1 WHERE customers_id = 1 LIMIT 1;
    UPDATE admin_access SET orders_status_comments = 1 WHERE customers_id = 'groups' LIMIT 1;

    DROP TABLE IF EXISTS `orders_status_comments`;
    CREATE TABLE `orders_status_comments` (
    `orders_status_comments_id` INT(11) NOT NULL DEFAULT '0',
    `language_id` INT(11) NOT NULL DEFAULT '1',
    `orders_status_comments_title` VARCHAR(100) CHARACTER SET utf8 NOT NULL,
    `orders_status_comments_text` text CHARACTER SET utf8 NOT NULL,
    PRIMARY KEY (`orders_status_comments_id`)
    ) ENGINE=MyISAM DEFAULT CHARSET=latin1;

    Dann bitte noch deine "/admin/includes/column_left.php" wieder zurück ändern.

    Also suche:

    Code: PHP  [Auswählen]
      if (($_SESSION['customers_status']['customers_status_id'] == '0') && ($admin_access['orders_status'] == '1')) echo '<li><a href="' . xtc_href_link(FILENAME_ORDERS_STATUS_COMMENTS, '', 'NONSSL') . '" class="menuBoxContentLink"> -' . BOX_ORDERS_STATUS_COMMENTS . '</a></li>';

    und ersetze wieder mit:

    Code: PHP  [Auswählen]
      if (($_SESSION['customers_status']['customers_status_id'] == '0') && ($admin_access['orders_status_comments'] == '1')) echo '<li><a href="' . xtc_href_link(FILENAME_ORDERS_STATUS_COMMENTS, '', 'NONSSL') . '" class="menuBoxContentLink"> -' . BOX_ORDERS_STATUS_COMMENTS . '</a></li>';

    Ich habe die Anleitung im Modul aus Beitrag 1 diesbezüglich überarbeitet.

    Grüße

    Torsten

    mollvision

    • Schreiberling
    • Beiträge: 356
    • Geschlecht:
    Re: MODUL: Bestellstatus Kommentare - order_status_comments
    Antwort #5 am: 22. Dezember 2014, 23:01:01
    @Torsten,

    Grundsätzlich funktioniert das Modul wenn man diverse Fehler beseitigt.
    Allerdings funktioniert es weiterhin bei NUR deutscher Sprache.
    Sobald eine weitere zb. english aktiviert wird, gibt's sql-Fehler.

    Ebenso die weiteren, angesprochenen Fehler sind noch vorhanden.

    Code: PHP  [Auswählen]
    1062 - Duplicate entry '1' for key 1

    insert into orders_status_comments (orders_status_comments_id, language_id) values ('1', '1')

    [MOD SQL Error]

    Ich habe einige elementar wichtige Fehler in den Dateien gefunden.

    Zum Beispiel:
    /admin/order_status_comments.php  Zeilen 204 - 206 entfernen.

    SQL-Fehler in Zeile 205

    Code: PHP  [Auswählen]
    <?php
      }
    ?>

    Weiter die Werte für das Textfeld hinzugefügt, da es ohne Formatierung war.
    Dann die id's für die Buttons berichtigt.

    Auch fehlende Einträge in der /lang/german/admin/order_status_comments.php.
    ebenso habe ich den Erweiterungscode für die order.php etwas geändert.

    Das beste wird sein, dass sich das mal bitte ein Coder installiert und überprüft.
    Bis auf den Fehler bzgl. der language-ID, denke ich sind wir hier auf einem guten Weg.

    Hier die Dateien die ich geändert habe:

    lang/german/admin/orders_status_comments.php

    Code: PHP  [Auswählen]
    <?php
    /* --------------------------------------------------------------
       $Id: orders_status.php 899 2005-04-29 02:40:57Z hhgag $  

       XT-Commerce - community made shopping
       http://www.(( Wir dulden keine kommerziellen Werbelinks - Bitte Forenregeln beachten! ))

       Copyright (c) 2003 XT-Commerce
       ->> Copy von orders_status.php + Textanpassung Modul "orders_status_comments" by kahno 07.02.2013   
       --------------------------------------------------------------
       based on:
       (c) 2000-2001 The Exchange Project  (earlier name of osCommerce)
       (c) 2002-2003 osCommerce(orders_status.php,v 1.7 2002/01/30); www.oscommerce.com
       (c) 2003      nextcommerce (orders_status.php,v 1.4 2003/08/14); www.nextcommerce.org

       Released under the GNU General Public License
       --------------------------------------------------------------*/


    define('HEADING_TITLE', 'Bestellstatus');

    define('TABLE_HEADING_ORDERS_STATUS_TITLE', 'Bestellstatus');
    define('TABLE_HEADING_ORDERS_STATUS_TEXT', 'Bestellstatus-Text');
    define('TABLE_HEADING_ACTION', 'Aktion');

    define('TEXT_INFO_EDIT_INTRO', 'Bitte f&uuml;hren Sie alle notwendigen &Auml;nderungen durch');
    define('TEXT_INFO_ORDERS_STATUS_NAME', 'Bestellstatus-Text:');
    define('TEXT_INFO_INSERT_INTRO', 'Bitte geben Sie den neuen Bestellstatus-Text mit allen relevanten Daten ein');
    define('TEXT_INFO_ORDERS_STATUS_COMMENTS_TEXT', 'Bestellstatus:');
    define('TEXT_INFO_DELETE_INTRO', 'Sind Sie sicher, dass Sie diesen Bestellstatus-Text l&ouml;schen m&ouml;chten?');
    define('TEXT_INFO_HEADING_NEW_ORDERS_STATUS', 'Neuer Bestellstatus-Text');
    define('TEXT_INFO_HEADING_EDIT_ORDERS_STATUS', 'Bestellstatus-Text bearbeiten');
    define('TEXT_INFO_HEADING_DELETE_ORDERS_STATUS', 'Bestellstatus-Text l&ouml;schen');

    define('ERROR_REMOVE_DEFAULT_ORDER_STATUS', 'Fehler: Der Standard-Bestellstatus-Text kann nicht gel&ouml;scht werden. Bitte definieren Sie einen neuen Standard-Bestellstatus-Text und wiederholen Sie den Vorgang.');
    define('ERROR_STATUS_USED_IN_ORDERS', 'Fehler: Dieser Bestellstatus-Text wird zur Zeit noch bei den Bestellungen verwendet.');
    define('ERROR_STATUS_USED_IN_HISTORY', 'Fehler: Dieser Bestellstatus-Text wird zur Zeit noch in der Bestellhistorie verwendet.');
    ?>

    /admin/orders_status_comments.php

    Code: PHP  [Auswählen]
    <?php
    /* --------------------------------------------------------------
       $Id: orders_status.php 1497 2010-11-15 18:06:58Z dokuman $

       modified eCommerce Shopsoftware - community made shopping
       http://www.modified eCommerce Shopsoftware.org

       Copyright (c) 2010 modified eCommerce Shopsoftware
       - create by >> Modulname: "orders_status_comments" by kahno 07.02.2013
       - based on orders_status.php
       - NEW TABLE =>> orders_status_text / create in mysql
       --------------------------------------------------------------
       based on:
       (c) 2000-2001 The Exchange Project  (earlier name of osCommerce)
       (c) 2002-2003 osCommerce(orders_status.php,v 1.19 2003/02/06); www.oscommerce.com
       (c) 2003     nextcommerce (orders_status.php,v 1.9 2003/08/18); www.nextcommerce.org
       (c) 2006 XT-Commerce (orders_status.php 1125 2005-07-28)

       Released under the GNU General Public License
       --------------------------------------------------------------*/


      require('includes/application_top.php');
     
     

      $action = (isset($_GET['action']) ? $_GET['action'] : '');

      if (xtc_not_null($action)) {
        switch ($action) {
          case 'insert':
          case 'save':
            if (isset($_GET['oID'])) $orders_status_comments_id = xtc_db_prepare_input($_GET['oID']);
             
            $languages = xtc_get_languages();
            for ($i = 0, $n = sizeof($languages); $i < $n; $i++) {
              $orders_status_comments_text_array = $_POST['orders_status_comments_text'];
              $orders_status_comments_title_array = $_POST['orders_status_comments_title'];
              $language_id = $languages[$i]['id'];          

              $sql_data_array = array(
                                            'orders_status_comments_text' => xtc_db_prepare_input($orders_status_comments_text_array[$language_id]),
                                            'orders_status_comments_title' => xtc_db_prepare_input($orders_status_comments_title_array[$language_id])
              );

              if ($action == 'insert') {
             
                if (!xtc_not_null($orders_status_comments_id)) {
                  $next_id_query = xtc_db_query(" SELECT max(orders_status_comments_id)
                                                    AS orders_status_comments_id
                                                  FROM "
    .TABLE_ORDERS_STATUS_COMMENTS." ");
                                                 
                  $next_id = xtc_db_fetch_array($next_id_query);
                 
                  $orders_status_comments_id = $next_id['orders_status_comments_id'] + 1;
                }

                $insert_sql_data = array('orders_status_comments_id' => $orders_status_comments_id,
                                         'language_id' => $language_id);
                $sql_data_array = xtc_array_merge($sql_data_array, $insert_sql_data);
                    xtc_db_perform(TABLE_ORDERS_STATUS_COMMENTS, $sql_data_array);
               
               
              } elseif ($action == 'save') {
            //BOF - web28 - 2010-07-11 - BUGFIX no entry stored for previous deactivated languages
           
            $orders_status_comments_query = xtc_db_query(" SELECT *
                                                    FROM "
    .TABLE_ORDERS_STATUS_COMMENTS."
                                                    WHERE language_id = '"
    .(int)$language_id."'
                                                    AND orders_status_comments_id = '"
    .(int)$orders_status_comments_id."'");
                                           
            if (xtc_db_num_rows($orders_status_comments_query) == 0)
                    xtc_db_perform(TABLE_ORDERS_STATUS_COMMENTS, array ('orders_status_comments_id' => (int)$orders_status_comments_id, 'language_id' => (int)$language_id));
            //EOF - web28 - 2010-07-11 - BUGFIX no entry stored for previous deactivated languages
           
                    xtc_db_perform(TABLE_ORDERS_STATUS_COMMENTS, $sql_data_array, 'update', "orders_status_comments_id = '" . (int)$orders_status_comments_id . "' and language_id = '" . (int)$language_id . "'");
              }
            }

            // Für automatische Anzeige max. Zeilen
           
            //   Wird nicht benötigt da Texte je nach Bestellstatus ausgewählt werden und für einen Status mehrere Vorlagen existieren können!  <<<<
    /*         
            if (isset($_POST['default']) && ($_POST['default'] == 'on')) {
                                    xtc_db_query(" UPDATE " . TABLE_CONFIGURATION . "
                                                    SET configuration_value = '" . xtc_db_input($orders_status_id) . "'
                                                    WHERE configuration_key = 'DEFAULT_ORDERS_STATUS_ID'");
            }
    */
         
           
            xtc_redirect(xtc_href_link(FILENAME_ORDERS_STATUS_COMMENTS, 'page=' . $_GET['page'] . '&oID=' . $orders_status_comments_id));
            break;
           
    // Überprüfen wie gelöscht werden kann  << <<
          case 'deleteconfirm':
            $oID = xtc_db_prepare_input($_GET['oID']);
            /*
               Wird nicht benötigt da Texte je nach Bestellstatus ausgewählt werden und für einen Status mehrere Vorlagen existieren können!  <<<<
               
            $orders_status_comments_query = xtc_db_query(" SELECT configuration_value
                                                    FROM " . TABLE_CONFIGURATION . "
                                                    WHERE configuration_key = 'DEFAULT_ORDERS_STATUS_ID'");
                                                   
            $orders_status_comments = xtc_db_fetch_array($orders_status_comments_query);
           
           
            if ($orders_status_comments['configuration_value'] == $oID) {
                                    xtc_db_query(" UPDATE " . TABLE_CONFIGURATION . "
                                                    SET configuration_value = ''
                                                    WHERE configuration_key = 'DEFAULT_ORDERS_STATUS_ID'");
            }
            */

           
            xtc_db_query("delete from " . TABLE_ORDERS_STATUS_COMMENTS . " where orders_status_comments_id = '" . xtc_db_input($oID) . "'");

            xtc_redirect(xtc_href_link(FILENAME_ORDERS_STATUS_COMMENTS, 'page=' . $_GET['page']));
            break;
           
    // Überprüfen wie gelöscht werden kann  << << Vor Löschen Meldung ausgeben wegen unwiderruflich!
          case 'delete':
            $oID = xtc_db_prepare_input($_GET['oID']);
         
            $remove_status = true;
         
            break;
        }
      }
     
     
     
    ?>
    <!doctype html public "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html <?php echo HTML_PARAMS; ?>>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=<?php echo $_SESSION['language_charset']; ?>">
    <title><?php echo TITLE; ?></title>
    <link rel="stylesheet" type="text/css" href="includes/stylesheet.css">
    <script type="text/javascript" src="includes/general.js"></script>
    </head>
    <body marginwidth="0" marginheight="0" topmargin="0" bottommargin="0" leftmargin="0" rightmargin="0" bgcolor="#FFFFFF" onload="SetFocus();">
    <!-- header //-->
    <?php require(DIR_WS_INCLUDES . 'header.php'); ?>
    <!-- header_eof //-->

    <!-- body //-->
    <table border="0" width="100%" cellspacing="2" cellpadding="2">
      <tr>
        <td class="columnLeft2" width="<?php echo BOX_WIDTH; ?>" valign="top"><table border="0" width="<?php echo BOX_WIDTH; ?>" cellspacing="1" cellpadding="1" class="columnLeft">
    <!-- left_navigation //-->
    <?php require(DIR_WS_INCLUDES . 'column_left.php'); ?>
    <!-- left_navigation_eof //-->
        </table></td>
    <!-- body_text //-->
        <td class="boxCenter" width="100%" valign="top"><table border="0" width="100%" cellspacing="0" cellpadding="2">
          <tr>
            <td><table border="0" width="100%" cellspacing="0" cellpadding="0">
      <tr>
        <td width="80" rowspan="2"><?php echo xtc_image(DIR_WS_ICONS.'heading_configuration.gif'); ?></td>
        <td class="pageHeading"><?php echo BOX_ORDERS_STATUS; ?></td>
      </tr>
      <tr>
        <td class="main" valign="top">XT Configuration</td>
      </tr>
    </table></td>
          </tr>
          <tr>
            <td valign="top"><table border="0" width="100%" cellspacing="0" cellpadding="0">
              <tr>
                <td valign="top"><table border="0" width="100%" cellspacing="0" cellpadding="2">
                  <tr class="dataTableHeadingRow">
                    <td class="dataTableHeadingContentb" width="28%"><?php echo TABLE_HEADING_ORDERS_STATUS_TITLE; ?></td>
                    <td class="dataTableHeadingContentb" width="66%"><?php echo TABLE_HEADING_ORDERS_STATUS_TEXT; ?></td>
                    <td class="dataTableHeadingContentb" width="60px"><?php echo TABLE_HEADING_ACTION; ?>&nbsp;</td>
                  </tr>
    <?php
     
      $orders_status_comments_query_raw = "select orders_status_comments_id, orders_status_comments_title, orders_status_comments_text from " . TABLE_ORDERS_STATUS_COMMENTS . "
                                    WHERE language_id = '"
    . $_SESSION['languages_id'] . "' order by orders_status_comments_id";                         
                                   
      $orders_status_comments_split = new splitPageResults($_GET['page'], MAX_DISPLAY_SEARCH_RESULTS, $orders_status_comments_query_raw, $orders_status_comments_query_numrows);
      $orders_status_comments_query = xtc_db_query($orders_status_comments_query_raw);
     
    while ($orders_status_comments = xtc_db_fetch_array($orders_status_comments_query)) {
        if ((!isset($_GET['oID']) || (isset($_GET['oID']) && ($_GET['oID'] == $orders_status_comments['orders_status_comments_id']))) && !isset($oInfo) && (substr($action, 0, 3) != 'new')) {
          $oInfo = new objectInfo($orders_status_comments);
        }

        if (isset($oInfo) && is_object($oInfo) && ($orders_status_comments['orders_status_comments_id'] == $oInfo->orders_status_comments_id) ) {
          echo '                  <tr class="dataTableRowSelected" onmouseover="this.style.cursor=\'pointer\'" onclick="document.location.href=\'' . xtc_href_link(FILENAME_ORDERS_STATUS_COMMENTS, 'page=' . $_GET['page'] . '&oID=' . $oInfo->orders_status_comments_id . '&action=edit') . '\'">' . "\n";
        } else {
          echo '                  <tr class="dataTableRow" onmouseover="this.className=\'dataTableRowOver\';this.style.cursor=\'pointer\'" onmouseout="this.className=\'dataTableRow\'" onclick="document.location.href=\'' . xtc_href_link(FILENAME_ORDERS_STATUS_COMMENTS, 'page=' . $_GET['page'] . '&oID=' . $orders_status_comments['orders_status_comments_id']) . '\'">' . "\n";
        }
       
          echo '                <td class="dataTableContent" width="28%">' . $orders_status_comments['orders_status_comments_title'] . '</td>' . "\n";
          echo '                <td class="dataTableContent" width=" ">' . $orders_status_comments['orders_status_comments_text'] . '</td>' . "\n";
       
    ?>
                    <td class="dataTableContent" width="60px" align="right"><?php if (isset($oInfo) && is_object($oInfo) && ($orders_status_comments['orders_status_comments_id'] == $oInfo->orders_status_comments_id) ) { echo xtc_image(DIR_WS_IMAGES . 'icon_arrow_right.gif', ICON_ARROW_RIGHT); } else { echo '<a href="' . xtc_href_link(FILENAME_ORDERS_STATUS_COMMENTS, 'page=' . $_GET['page'] . '&oID=' . $orders_status_comments['orders_status_comments_id']) . '">' . xtc_image(DIR_WS_IMAGES . 'icon_info.gif', IMAGE_ICON_INFO) . '</a>'; } ?>&nbsp;</td>
                  </tr>
    <?php
      }
    ?>
               </table>
                   
    <!--?php
      }
    ?-->
                  <tr>
                    <td colspan="2"><table border="0" width="100%" cellspacing="0" cellpadding="2">
                      <tr>
                        <td class="smallText" valign="top"><?php echo $orders_status_comments_split->display_count($orders_status_comments_query_numrows, MAX_DISPLAY_SEARCH_RESULTS, $_GET['page'], TEXT_DISPLAY_NUMBER_OF_ORDERS_STATUS_COMMENTS); ?></td>
                        <td class="smallText" align="right"><?php echo $orders_status_comments_split->display_links($orders_status_comments_query_numrows, MAX_DISPLAY_SEARCH_RESULTS, MAX_DISPLAY_PAGE_LINKS, $_GET['page']); ?></td>
                      </tr>
    <?php
      if (empty($action)) {
    ?>
                      <tr>
                        <td colspan="2" align="right"><?php echo '<a class="button" onclick="this.blur();" href="' . xtc_href_link(FILENAME_ORDERS_STATUS_COMMENTS, 'page=' . $_GET['page'] . '&action=new') . '">' . BUTTON_INSERT . '</a>'; ?></td>
                      </tr>
    <?php
      }
    ?>
                    </table></td>
                  </tr>
                </table></td>
    <?php
      $heading = array();
      $contents = array();
      switch ($action) {
        case 'new':
       
          $heading[] = array('text' => '<b>' . TEXT_INFO_HEADING_NEW_ORDERS_STATUS . '</b>');

          $contents = array('form' => xtc_draw_form('status', FILENAME_ORDERS_STATUS_COMMENTS, 'page=' . $_GET['page'] . '&action=insert'));
          $contents[] = array('text' => TEXT_INFO_INSERT_INTRO);

          $orders_status_comments_inputs_string = '';
          $languages = xtc_get_languages();
          for ($i = 0, $n = sizeof($languages); $i < $n; $i++) {
            $orders_status_comments_inputs_string .= '<br />' . xtc_image(DIR_WS_LANGUAGES.$languages[$i]['directory'].'/admin/images/'.$languages[$i]['image']) . '&nbsp;' . xtc_draw_input_field('orders_status_comments_title[' . $languages[$i]['id'] . ']');
            $orders_status_comments_inputs_string .= '<br />' . xtc_image(DIR_WS_LANGUAGES.$languages[$i]['directory'].'/admin/images/'.$languages[$i]['image']) . '&nbsp;' . xtc_draw_textarea_field('orders_status_comments_text[' . $languages[$i]['id'] . ']', 'soft', '60', '5', false);
           
          }

          $contents[] = array('text' => '<br />' . TEXT_INFO_ORDERS_STATUS_COMMENTS_TEXT . $orders_status_comments_inputs_string);
          $contents[] = array('align' => 'center', 'text' => '<br /><input type="submit" class="button" onclick="this.blur();" value="' . BUTTON_INSERT . '"/> <a class="button" onclick="this.blur();" href="' . xtc_href_link(FILENAME_ORDERS_STATUS_COMMENTS, 'page=' . $_GET['page']) . '">' . BUTTON_CANCEL . '</a><br style="clear:both;" />');
       
          break;

        case 'edit':
       
          $heading[] = array('text' => '<b>' . TEXT_INFO_HEADING_EDIT_ORDERS_STATUS . '</b>');

          $contents = array('form' => xtc_draw_form('status', FILENAME_ORDERS_STATUS_COMMENTS, 'page=' . $_GET['page'] . '&oID=' . $oInfo->orders_status_comments_id  . '&action=save'));
          $contents[] = array('text' => TEXT_INFO_EDIT_INTRO);

          $orders_status_comments_inputs_string = '';
          $languages = xtc_get_languages();
          for ($i = 0, $n = sizeof($languages); $i < $n; $i++) {
            $orders_status_comments_inputs_string .= '<br />' . xtc_image(DIR_WS_LANGUAGES.$languages[$i]['directory'].'/admin/images/'.$languages[$i]['image']) . '&nbsp;' . xtc_draw_input_field('orders_status_comments_title[' . $languages[$i]['id'] . ']', xtc_get_orders_status_comments_title($oInfo->orders_status_comments_id, $languages[$i]['id']), '', '', false);
            $orders_status_comments_inputs_string .= '<br />' . xtc_image(DIR_WS_LANGUAGES.$languages[$i]['directory'].'/admin/images/'.$languages[$i]['image']) . '&nbsp;' .         xtc_draw_textarea_field('orders_status_comments_text[' . $languages[$i]['id'] . ']', 'soft', '60', '5', xtc_get_orders_status_comments_text($oInfo->orders_status_comments_id, $languages[$i]['id']) , $oInfo->orders_status_comments_id, $languages[$i]['id'] , false);
          }

          $contents[] = array('text' => '<br />' . TEXT_INFO_ORDERS_STATUS_COMMENTS_TEXT . $orders_status_comments_inputs_string);
          $contents[] = array('align' => 'center', 'text' => '<br /><input type="submit" class="button" onclick="this.blur();" value="' . BUTTON_UPDATE . '"/> <a class="button" onclick="this.blur();" href="' . xtc_href_link(FILENAME_ORDERS_STATUS_COMMENTS, 'page=' . $_GET['page'] . '&oID=' . $oInfo->orders_status_comments_id) . '">' . BUTTON_CANCEL . '</a><br style="clear:both;" />');
           
          break;

        case 'delete':
           
          $heading[] = array('text' => '<b>' . TEXT_INFO_HEADING_DELETE_ORDERS_STATUS . '</b>');

          $contents = array('form' => xtc_draw_form('status', FILENAME_ORDERS_STATUS_COMMENTS, 'page=' . $_GET['page'] . '&oID=' . $oInfo->orders_status_comments_id  . '&action=deleteconfirm'));
          $contents[] = array('text' => TEXT_INFO_DELETE_INTRO);
            if ((isset($oInfo->orders_status_comments_title)) && (!empty($oInfo->orders_status_comments_title))) {
                    $contents[] = array('text' => '<br /><b>' . $oInfo->orders_status_comments_title . '</b>');
            } else {
            $contents[] = array('text' => '<br /><b>' . $oInfo->orders_status_comments_text . '</b>');
            }
          if ($remove_status) $contents[] = array('align' => 'center', 'text' => '<br /><input type="submit" class="button" onclick="this.blur();" value="' . BUTTON_DELETE . '"/> <a class="button" onclick="this.blur();" href="' . xtc_href_link(FILENAME_ORDERS_STATUS_COMMENTS, 'page=' . $_GET['page'] . '&oID=' . $oInfo->orders_status_comments_id) . '">' . BUTTON_CANCEL . '</a><br style="clear:both;" />');
           
          break;

        default:
       
          if (isset($oInfo) && is_object($oInfo)) {
            $heading[] = array('text' => '<b>' . $oInfo->orders_status_comments_title . '</b>');
           
            $contents[] = array('align' => 'center', 'text' => '<a class="button" onclick="this.blur();" href="' . xtc_href_link(FILENAME_ORDERS_STATUS_COMMENTS, 'page=' . $_GET['page'] . '&oID=' . $oInfo->orders_status_comments_id . '&action=edit') . '">' . BUTTON_EDIT . '</a> <a class="button" onclick="this.blur();" href="' . xtc_href_link(FILENAME_ORDERS_STATUS_COMMENTS, 'page=' . $_GET['page'] . '&oID=' . $oInfo->orders_status_comments_id . '&action=delete') . '">' . BUTTON_DELETE . '</a><br style="clear:both;" />');
           
            $orders_status_comments_inputs_string = '';
            $languages = xtc_get_languages();
            for ($i = 0, $n = sizeof($languages); $i < $n; $i++) {
              $orders_status_comments_inputs_string .= '<br />' . xtc_image(DIR_WS_LANGUAGES.$languages[$i]['directory'].'/admin/images/'.$languages[$i]['image']) . '&nbsp;' . xtc_get_orders_status_comments_text($oInfo->orders_status_comments_id, $languages[$i]['id']);
            }

            $contents[] = array('text' => $orders_status_comments_inputs_string);
          }
         
          break;
      }

      if ( (xtc_not_null($heading)) && (xtc_not_null($contents)) ) {
        echo '            <td width="25%" valign="top">' . "\n";

        $box = new box;
        echo $box->infoBox($heading, $contents);

        echo '            </td>' . "\n";
      }
    ?>
              </tr>
            </table></td>
          </tr>
        </table></td>
    <!-- body_text_eof //-->
      </tr>
    </table>
    <!-- body_eof //-->

    <!-- footer //-->
    <?php require(DIR_WS_INCLUDES . 'footer.php'); ?>
    <!-- footer_eof //-->
    <br />
    </body>
    </html>
    <?php require(DIR_WS_INCLUDES . 'application_bottom.php'); ?>

    Erweiterung für die /admin/orders.php

    Code: PHP  [Auswählen]
    <!-- Modulname: "orders_status_comments" by kahno 07.02.2013 START +++ Code-Ursprung: noRiddle +++ -->          
              <!-- <?php echo xtc_draw_textarea_field('comments', 'soft', '60', '5', $order->info['comments']); ?> -->
           <?php
                 // ohne diesen code könnte man in der Detailansicht keine Mails schicken
                 $orders_status_comments_2=array();
             $orders_status_comments_2[]=array('id' => 0,'text' => 'Bitte ausw&auml;hlen:');
             $get_comments_title_2_query=xtc_db_query("SELECT
                                                            orders_status_comments_id,
                                                            orders_status_comments_title,
                                                            orders_status_comments_text
                                                    FROM "
    .TABLE_ORDERS_STATUS_COMMENTS." order by orders_status_comments_id");
             while($get_comments_title_2=xtc_db_fetch_array($get_comments_title_2_query)){
                    $orders_status_comments_2[]=array('id' => $get_comments_title_2['orders_status_comments_id'],'text' => $get_comments_title_2['orders_status_comments_title']);
                    }
            ?>
           <div><small><b>Vorlage-Titel:</b></small><?php echo xtc_draw_pull_down_menu('orders_status_comments', $orders_status_comments_2, '', 'onChange="this.form.submit();"'); ?>
           <small>[<?php echo $order->info['title']; ?> ausgew&auml;hlt]</small>
           </div>      
           
           <br />
           <?php echo xtc_draw_textarea_field('comments', 'soft', '100', '5', $order->info['comments']); ?>
         
    <!-- Modulname: "orders_status_comments" by kahno 07.02.2013 ENDE +++ Code-Ursprung: noRiddle +++ -->

    Ich hoffe Ihr kommt damit zurecht.

    Gruß
    Wolfgang

    karl

    • Schreiberling
    • Beiträge: 439
    Re: MODUL: Bestellstatus Kommentare - order_status_comments
    Antwort #6 am: 23. Dezember 2014, 06:20:53
    Oh je! :-o

    Das sollte sich nicht nur ein Coder anschauen, sowas gehört eigentlich mit rein in die Software. Kann doch jeder gut gebrauchen, oder? :whistle:

    Ich hatte das nur für german gemacht und bei mir hat es funktioniert. Komisch. :-|

    mollvision

    • Schreiberling
    • Beiträge: 356
    • Geschlecht:
    Re: MODUL: Bestellstatus Kommentare - order_status_comments
    Antwort #7 am: 23. Dezember 2014, 11:59:17
    @karl,

    das stimmt, es wäre eine nützliche Erweiterung.
    Klein, fein und ohne viel schnick Schnack.
    Wenn man nur die deutsche Sprache nutzt, funktioniert es auch prima.
    Bis auf den Seitenreload. Bisschen lästig, aber ich könnte damit leben.
    Das ist bestimmt keine große Sache, aber ich bekomme das leider nicht hin.

    Tomcraft

    • modified Team
    • Gravatar
    • Beiträge: 46.177
    • Geschlecht:
    Re: MODUL: Bestellstatus Kommentare - order_status_comments
    Antwort #8 am: 23. Dezember 2014, 13:03:56
    Ich habe deine Änderungen in das Modul aus Beitrag 1 übernommen und noch erweitert um Text-Konstanten. Des weiteren habe ich die fehlerhaften Tabellen-Verschachtelungen in der "orders_status_comments.php" korrigiert und ich denke, dass ich auch den Fehler korrigiert habe, dass das Modul nur auf deutsch funktionierte (Dafür musst du die Tabelle "orders_status_comments" nochmal löschen und nach Anleitung neu anlegen!).

    Ich freue mich über dein Feedback.

    Grüße

    Torsten

    Tomcraft

    • modified Team
    • Gravatar
    • Beiträge: 46.177
    • Geschlecht:
    Re: MODUL: Bestellstatus Kommentare - order_status_comments
    Antwort #9 am: 24. Dezember 2014, 15:14:35
    Ich habe das Modul in Beitrag 1 nochmal überarbeitet und Screenshots beigefügt, die mir das Mitglied mollvision hat zukommen lassen.

    Grüße

    Torsten

    noRiddle (revilonetz)

    • Experte
    • Beiträge: 13.729
    • Geschlecht:
    Re: MODUL: Bestellstatus Kommentare - order_status_comments
    Antwort #10 am: 26. Dezember 2014, 12:10:55
    Zwei Bemerkungen:
    • Was soll das UTF-8 in den MySQL-Befehlen ?
    • Sollte man nicht, wenn man schonmal dabei ist, folgenden Code in der /admin/orders_status_comments.php
    Code: PHP  [Auswählen]
    ?>
    <!doctype html public "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html <?php echo HTML_PARAMS; ?>>
      <head>
        <meta http-equiv="Content-Type" content="text/html; charset=<?php echo $_SESSION['language_charset']; ?>">
        <title><?php echo TITLE; ?></title>
        <link rel="stylesheet" type="text/css" href="includes/stylesheet.css">
        <script type="text/javascript" src="includes/general.js"></script>
      </head>

    dem modified-Standard gemäß hiermit ersetzen ?
    Code: PHP  [Auswählen]
    require (DIR_WS_INCLUDES.'head.php');
    ?>
    </head>

    Gruß,
    noRiddle

    [EDIT Tomcraft 28.12.2014: Korrekturen in Modul aus Beitrag 1 übernommen.]

    Tomcraft

    • modified Team
    • Gravatar
    • Beiträge: 46.177
    • Geschlecht:
    Re: MODUL: Bestellstatus Kommentare - order_status_comments
    Antwort #11 am: 28. Dezember 2014, 14:06:03
    Danke dir! :thx:

    Das Modul aus Beitrag 1 habe ich entsprechend überarbeitet.

    Grüße

    Torsten

    Spegeli

    • Schreiberling
    • Beiträge: 278
    • Geschlecht:
    Re: MODUL: Bestellstatus Kommentare - order_status_comments
    Antwort #12 am: 02. Januar 2015, 00:51:51
    Zitat
    SUCHE

          if (!isset($lang_code)) $lang_code = $_SESSION['language_code'];
          $orders_statuses = array ();
          $orders_status_array = array ();
          $orders_status_query = xtc_db_query("-- /admin/orders.php
                                           SELECT orders_status_id,
    Zitat
    DANACH EINFÜGEN -> nach dem if (schliessende Klammer)

    Sehr umständlich ausgedrückt. Welche stelle ist den jetzt genau damit gemeint?

    So sieht der Code bei mir aus:
    Code: PHP  [Auswählen]
    if (!isset($lang_code)) $lang_code = $_SESSION['language_code'];

    $orders_statuses = array ();
    $orders_status_array = array ();
    $orders_status_query = xtc_db_query("-- /admin/orders.php
                                           SELECT orders_status_id,
                                                  orders_status_name
                                             FROM "
    .TABLE_ORDERS_STATUS."
                                            WHERE language_id = '"
    .$lang."'");
    while ($orders_status = xtc_db_fetch_array($orders_status_query)) {
      $orders_statuses[] = array ('id' => $orders_status['orders_status_id'], 'text' => $orders_status['orders_status_name']);
      $orders_status_array[$orders_status['orders_status_id']] = $orders_status['orders_status_name'];
    }

    //Edit: Also ich habs jetzt direkt einfach mal unter die } gesetzt.

    Jetzt habe ich nur noch das Problem das er mir egal was ich auswähle immer nur das Englische nimmt?!

    [ Für Gäste sind keine Dateianhänge sichtbar ]

    Spegeli

    • Schreiberling
    • Beiträge: 278
    • Geschlecht:
    Re: MODUL: Bestellstatus Kommentare - order_status_comments
    Antwort #13 am: 02. Januar 2015, 02:05:58
    Hab jetzt in der orders.php bei jeder der 3 db query abfragen noch n language_id = '".$lang." eingebaut und jetzt funktioniert das auch mit mehreren sprachen ^^

    DropBox zeigt nun die Sprache an die der Besteller hatte und übernimmt diese dann auch ins Input Feld.

    Tomcraft

    • modified Team
    • Gravatar
    • Beiträge: 46.177
    • Geschlecht:
    Re: MODUL: Bestellstatus Kommentare - order_status_comments
    Antwort #14 am: 05. Januar 2015, 15:53:25
    Zitat
    SUCHE

          if (!isset($lang_code)) $lang_code = $_SESSION['language_code'];
          $orders_statuses = array ();
          $orders_status_array = array ();
          $orders_status_query = xtc_db_query("-- /admin/orders.php
                                           SELECT orders_status_id,
    Zitat
    DANACH EINFÜGEN -> nach dem if (schliessende Klammer)

    Sehr umständlich ausgedrückt. Welche Stelle ist den jetzt genau damit gemeint?
    [...]

    Ich habe hier die Anleitung des Moduls aus Beitrag 1 mal etwas deutlicher formuliert.

    Hab jetzt in der orders.php bei jeder der 3 db query abfragen noch n language_id = '".$lang." eingebaut und jetzt funktioniert das auch mit mehreren sprachen ^^
    [...]

    Kannst du deine "/admin/orders.php" bitte mal hier mit anhängen? :thx:

    Grüße

    Torsten
    1 Antworten
    2739 Aufrufe
    24. Januar 2011, 12:45:19 von Tomcraft
    10 Antworten
    5777 Aufrufe
    30. Oktober 2015, 12:25:30 von except
    16 Antworten
    3240 Aufrufe
    20. Mai 2021, 18:00:03 von Apromo
    94 Antworten
    40497 Aufrufe
    14. August 2019, 14:43:16 von Timm
               
    anything