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: Eigenes Modul erstellen. Welche Dateien ?

    Keytresit

    • Mitglied
    • Beiträge: 103
    • Geschlecht:
    Eigenes Modul erstellen. Welche Dateien ?
    am: 13. Dezember 2011, 14:34:13
    Hallo an alle,

    ich habe die Suchfunktion jetzt schon ziemlich lange gequält. Jedoch find eich nicht wirklich das was ich jetzt brauche.

    Es geht um folgendes :

    Ich möchte das vorhandene Modul (new_products.php) kopieren und dann so umschrieben, dass anstatt die neuen Produkte die bestseller angezeigt werden.

    Soweit ist das ja auch kein Problem. Nur weis ich nicht in welchen Dateien das Modul  "new_products" überall drinnen steckt.

    Bis jetzt habe ich volle Dateien gefunden :
    • /includes/modules/new_products.php
    • /templates/xtc5/module/main_content.html
    • /templates/xtc5/module/new_products.html
    • /templates/xtc5/module/new_products_default.html
    • /templates/xtc5/module/new_products_overview.html
    • und natürlich die Sprachdateien

    Ich vermute ganz einfach das mir noch Dateien fehlen. Wisst Ihr vielleicht welche ?

    lg Keytresit

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

    Sick

    • Fördermitglied
    • Beiträge: 570
    • Geschlecht:
    Re: Eigenes Modul erstellen. Welche Dateien ?
    Antwort #1 am: 13. Dezember 2011, 14:40:09
    Vermutlich eine blöde Frage, aber warum nimmst du nicht einfach die Box "Bestsellers" als Grundlage?

    Gruß

    Keytresit

    • Mitglied
    • Beiträge: 103
    • Geschlecht:
    Re: Eigenes Modul erstellen. Welche Dateien ?
    Antwort #2 am: 13. Dezember 2011, 14:46:59
    Das habe ich auch vor. Jedoch möchte ich das Modul ja nicht als Box darstellen, sondern im Content also z.B. über dem "Neue Produkte" Bereich.

    [EDIT Tomcraft 13.12.2011: Full-Quote entfernt, siehe: FAQ: Full-Quotes und Groß-/Kleinschreibung - mit anderen Worten Netiquette!]

    Keytresit

    • Mitglied
    • Beiträge: 103
    • Geschlecht:
    Re: Eigenes Modul erstellen. Welche Dateien ?
    Antwort #3 am: 13. Dezember 2011, 17:20:27
    Soo.. ich glaube ich habe die Datei gefunden welche mir gefehlt hat. :-)

    -> "/includes/filenames.php"

    Ist ja klar, dass es nicht funktionieren kann, wenn das Programm nicht weiss mit welchem Modul es arbeiten soll. -.-

    Ich werde es noch schnell ausprobieren und dann den Status auf erledigt setzen.

    Danke trotzdem.

    Keytresit

    • Mitglied
    • Beiträge: 103
    • Geschlecht:
    Re: Eigenes Modul erstellen. Welche Dateien ?
    Antwort #4 am: 13. Dezember 2011, 23:50:24
    Es funktioniert doch noch nicht. :-(

    Ich werde jetzt mal meine Dateien welche ich bearbeitet habe hochladen. Vielleicht kann mir ja dann einer sagen was ich noch falsch mache.

    franky_n

    • Experte
    • Beiträge: 4.950
    Re: Eigenes Modul erstellen. Welche Dateien ?
    Antwort #5 am: 14. Dezember 2011, 00:17:16
    Keytresit,

    mach in jedem Fall bei der "main_content.html" aus dem:

    Code: PHP  [Auswählen]
    {if $MODULE_new_products}
    <div>{$MODULE_big_topseller}</div>
    {/if}

    mal das:

    Code: PHP  [Auswählen]
    {if $MODULE_big_topseller}
    <div>{$MODULE_big_topseller}</div>
    {/if}

    Viele Grüße

    Franky

    Keytresit

    • Mitglied
    • Beiträge: 103
    • Geschlecht:
    Re: Eigenes Modul erstellen. Welche Dateien ?
    Antwort #6 am: 14. Dezember 2011, 01:30:02
    Oh... danke franky_n, ist mir garn icht aufgefallen. Ist ja auch schon spät. ^^
    Jedoch funktioniert es immer noch nicht. Irgendwas scheint noch falsch zu sein oder zu fehlen.

    Keytresit

    • Mitglied
    • Beiträge: 103
    • Geschlecht:
    Re: Eigenes Modul erstellen. Welche Dateien ?
    Antwort #7 am: 14. Dezember 2011, 02:24:41
    Hab es jetzt doch auf dem Prinzip von Boxen realisiert bekommen.
    Im Anhang stell ich mal für andere die Dateien rein wie man die Bestseller auf die Startseite bekommt.
    Muss natürlich noch angepasst werden. ^^

    Danke nochmal für eure Hilfe.

    karabey

    • Schreiberling
    • Beiträge: 320
    • Geschlecht:
    Re: Eigenes Modul erstellen. Welche Dateien ?
    Antwort #8 am: 19. Dezember 2012, 21:59:49
    Ist zwar schon ein altes Thread aber habe den gleichen Problem. Bin den gleichen Weg gegangen aber irgend etwas stimmt nicht und zeigt nichts mit dem neuen Modul.

    Mein Modul soll auf der Startseite die neuesten Produkte nur als Bild anzeigen.

    Mein Vorgang
    1. new_products.php kopiert und als new_products_image.php abgespeichert

    2. in new_products_image.php

    dieses Bereich
    Code: PHP  [Auswählen]
        /*$new_products_query = "SELECT * FROM
                             ".TABLE_PRODUCTS." p,
                             ".TABLE_PRODUCTS_DESCRIPTION." pd
                             WHERE p.products_id = pd.products_id
                             and p.products_startpage = '1'
                             ".$group_check."
                             ".$fsk_lock."
                             and p.products_status = '1'
                             and pd.language_id = '".(int) $_SESSION['languages_id']."'
                             order by p.products_startpage_sort ASC
                             limit ".MAX_DISPLAY_NEW_PRODUCTS;*/

    mit diesen ersetzt

    Code: PHP  [Auswählen]
    //DISPLAY PRODUCTS ON STARTPAGE
    $new_products_query = "SELECT * FROM ".TABLE_PRODUCTS." p, ".
                                           TABLE_PRODUCTS_DESCRIPTION." pd
                           WHERE p.products_id=pd.products_id "
    .$group_check." ".$fsk_lock."
                            AND p.products_status = '1'
                            AND pd.language_id = '"
    .(int) $_SESSION['languages_id']."'
                           ORDER BY p.products_date_added DESC LIMIT "
    .MAX_DISPLAY_NEW_PRODUCTS;

    3. new_products_image.php inhalt umgeändert und zur new_products_image.html zugewiesen

    4. In filenames.php als "define('FILENAME_NEW_PRODUCTS_IMAGE', 'new_products_image.php');" definiert

    5. Zuletzt main_content.html geändert in
    Code: PHP  [Auswählen]
    {if $MODULE_new_products_image}
    <div>{$MODULE_new_products_image}</div>
    {/if}

    Trotzdem wird nichts auf der Startseite angezeigt. Fehlen mir noch Dateien zu ändern?

    Reto_H

    • Fördermitglied
    • Beiträge: 15
    Re: Eigenes Modul erstellen. Welche Dateien ?
    Antwort #9 am: 25. März 2014, 14:27:43
    Irgendwie fehlt die Datei /big-topseller.php (direkt im Root) für den Aufruf: shopURL/big-topseller.php analog shopURL/products_new.php oder shopURL/specials.php

    Kannn hier jemand helfen?

    Dank und Grüsse

    Tomcraft

    • modified Team
    • Gravatar
    • Beiträge: 46.367
    • Geschlecht:
    Re: Eigenes Modul erstellen. Welche Dateien ?
    Antwort #10 am: 25. März 2014, 16:18:11
    Nein, hier fehlt keine Datei. Das Modul enthält alle Dateien zum Einbau der zusätzlichen Box ins Template.

    Grüße

    Torsten

    Reto_H

    • Fördermitglied
    • Beiträge: 15
    Re: Eigenes Modul erstellen. Welche Dateien ?
    Antwort #11 am: 25. März 2014, 16:22:19
    Vielen Dank,

    aber wie mache ich den Aufruf der Seite?
    shopURL/templates/fff/sources/boxes/big-topseller.php

    geht ja so nicht.

    Ich möchte einen Aufruf analog:

    shopURL/product_news.php

    Grüsse

    Tomcraft

    • modified Team
    • Gravatar
    • Beiträge: 46.367
    • Geschlecht:
    Re: Eigenes Modul erstellen. Welche Dateien ?
    Antwort #12 am: 25. März 2014, 16:27:21
    Eingebunden wird die "/source/boxes/big_topseller.php" über die "/source/boxes.php" deines Templates. Die Ausgabe geschieht über die "/module/main_content.html" über folgenden Code:

    Code: PHP  [Auswählen]
    {php} global $smarty; echo $smarty->_tpl_vars['box_big_topseller']; {/php}

    Grüße

    Torsten

    Reto_H

    • Fördermitglied
    • Beiträge: 15
    Re: Eigenes Modul erstellen. Welche Dateien ?
    Antwort #13 am: 25. März 2014, 16:41:54
    Hi Torsten

    Vielen Dank für den Code.

    Exakt, so kriege ich es ins main_content.html

    aber wie kriege ich es in eine eigene Seite analog specials.php oder product_news.php?

    Grüsse
    Reto

    Tomcraft

    • modified Team
    • Gravatar
    • Beiträge: 46.367
    • Geschlecht:
    Re: Eigenes Modul erstellen. Welche Dateien ?
    Antwort #14 am: 25. März 2014, 17:56:59
    Erstelle im Root des Shops eine Datei namens "bestseller.php" mit folgendem Inhalt (Code auf Basis der "specials.php" abgeändert):

    Code: PHP  [Auswählen]
    <?php
    /* -----------------------------------------------------------------------------------------
       $Id: specials.php 4200 2013-01-10 19:47:11Z Tomcraft1980 $

       modified eCommerce Shopsoftware
       http://www.modified-shop.org

       Copyright (c) 2009 - 2013 [www.modified-shop.org]
       -----------------------------------------------------------------------------------------
       based on:
       (c) 2000-2001 The Exchange Project  (earlier name of osCommerce)
       (c) 2002-2003 osCommerce(specials.php,v 1.47 2003/05/27); www.oscommerce.com
       (c) 2003 nextcommerce (specials.php,v 1.12 2003/08/17); www.nextcommerce.org
       (c) 2006 XT-Commerce (specials.php 1292 2005-10-07)

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


    include ('includes/application_top.php');
    $smarty = new Smarty;
    // include boxes
    require (DIR_FS_CATALOG.'templates/'.CURRENT_TEMPLATE.'/source/boxes.php');
    require_once (DIR_FS_INC.'xtc_get_short_description.inc.php');

    $breadcrumb->add(NAVBAR_TITLE_BESTSELLER, xtc_href_link(FILENAME_BESTSELLER));

    //fsk18 lock
    $fsk_lock = '';
    if ($_SESSION['customers_status']['customers_fsk18_display'] == '0') {
      $fsk_lock = ' and p.products_fsk18!=1';
    }
    if (GROUP_CHECK == 'true') {
      $group_check = " and p.group_permission_".$_SESSION['customers_status']['customers_status_id']."=1 ";
    }
    //BOF - DokuMan - 2010-01-26 - use Join on TABLE_PRODUCTS_DESCRIPTION & TABLE_SPECIALS
    $bestseller_query_raw = "select p.products_id,
                                  pd.products_name,
                                                              pd.products_short_description,
                                  p.products_price,
                                  p.products_tax_class_id,
                                  p.products_shippingtime,
                                  p.products_image,
                                  p.products_vpe_status,
                                  p.products_vpe_value,
                                  p.products_vpe,
                                  p.products_fsk18,
                                                              p.products_ordered
                                 from
                                  "
    .TABLE_PRODUCTS." p
                                 left join "
    .TABLE_PRODUCTS_DESCRIPTION." pd
                                  on p.products_id = pd.products_id
                                 where p.products_status = '1'
                                 and p.products_id = pd.products_id
                                                             and p.products_ordered > 0
                                 "
    .$group_check."
                                 "
    .$fsk_lock."
                                 and pd.language_id = '"
    .(int)$_SESSION['languages_id']."'
                                 order by p.products_ordered desc"
    ;
    //EOF - DokuMan - 2010-01-26 - use Join on TABLE_PRODUCTS_DESCRIPTION & TABLE_SPECIALS
    $bestseller_split = new splitPageResults($bestseller_query_raw, isset($_GET['page']) ? $_GET['page'] : 0, MAX_DISPLAY_SPECIAL_PRODUCTS);

    $module_content = '';
    $row = 0;
    if ($bestseller_split->number_of_rows==0) xtc_redirect(xtc_href_link(FILENAME_DEFAULT));
    require (DIR_WS_INCLUDES.'header.php');
    $bestseller_query = xtc_db_query($bestseller_split->sql_query);

    while ($bestseller = xtc_db_fetch_array($bestseller_query)) {
      $module_content[] = $product->buildDataArray($bestseller);
    }

    if (($bestseller_split->number_of_rows > 0)) {
    //BOF - Dokuman - 2009-06-05 - replace table with div
    /*
      $smarty->assign('NAVBAR', '
      <table border="0" width="100%" cellspacing="0" cellpadding="2">
                <tr>
                  <td class="smallText">'.$bestseller_split->display_count(TEXT_DISPLAY_NUMBER_OF_SPECIALS).'</td>
                  <td align="right" class="smallText">'.TEXT_RESULT_PAGE.' '.$bestseller_split->display_links(MAX_DISPLAY_PAGE_LINKS, xtc_get_all_get_params(array ('page', 'info', 'x', 'y'))).'</td>
                </tr>
              </table>
      ');
    */

      $smarty->assign('NAVBAR', '
      <div style="width:100%;font-size:smaller">
        <div style="float:left">'
    .$bestseller_split->display_count(TEXT_DISPLAY_NUMBER_OF_SPECIALS).'</div>
        <div style="float:right">'
    .TEXT_RESULT_PAGE.' '.$bestseller_split->display_links(MAX_DISPLAY_PAGE_LINKS, xtc_get_all_get_params(array ('page', 'info', 'x', 'y'))).'</div>
        <br style="clear:both" />
      </div>
      '
    );
    //EOF - Dokuman - 2009-06-05 - replace table with div
    }

    $smarty->assign('language', $_SESSION['language']);
    $smarty->assign('module_content', $module_content);
    $main_content = $smarty->fetch(CURRENT_TEMPLATE.'/module/bestseller.html');
    $smarty->assign('main_content', $main_content);
    $smarty->caching = 0;
    if (!defined('RM'))
      $smarty->load_filter('output', 'note');
    $smarty->display(CURRENT_TEMPLATE.'/index.html');
    include ('includes/application_bottom.php');
    ?>

    Füge ans Ende der Datei "/includes/filenames.php", jedoch noch vor ?> folgendes ein:

    Code: PHP  [Auswählen]
    define('FILENAME_BESTSELLER', 'bestseller.php');

    Füge ans Ende der Datei "/lang/german/lang_german.conf" (für weitere Sprachen analog) folgendes ein:

    Code: PHP  [Auswählen]
    #bestseller
    [bestseller]
    heading_text = 'Bestseller'

    Füge in der "/lang/german/german.php" nach:

    Code: PHP  [Auswählen]
    define('NAVBAR_GV_SEND', 'Gutschein versenden');

    folgendes ein:

    Code: PHP  [Auswählen]
    define('NAVBAR_TITLE_BESTSELLER', 'Bestseller');

    Kopiere die Datei "/templates/<template-name>/module/specials.html" nach "/templates/<template-name>/module/bestseller.html".

    Grüße

    Torsten
    4 Antworten
    3401 Aufrufe
    22. November 2011, 23:14:47 von hendrik
    10 Antworten
    6368 Aufrufe
    12. Oktober 2012, 08:03:02 von NicoDeluxe
    8 Antworten
    6925 Aufrufe
    08. Juli 2011, 15:20:20 von Jason84
    11 Antworten
    4278 Aufrufe
    10. Februar 2010, 11:40:59 von raceroller