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: Weitere Kategoriebeschreibung einfügen

    xtc-user09

    • Schreiberling
    • Beiträge: 265
    MODUL: Weitere Kategoriebeschreibung einfügen
    am: 11. März 2010, 10:44:53
    Hallo,

    bei jeder Kategorie kann man eine Kategoriebeschreibung angeben, die dann im Template ausgegeben wird mit

    Code: PHP  [Auswählen]
    {if $CATEGORIES_DESCRIPTION}{$CATEGORIES_DESCRIPTION}
    {/if}
    Standardmäßig ist sie oberhalb der Artikel. Ich möchte nun aber zusätzlich noch eine Kategoriebeschreibung unterhalb der Artikel einfügen, also eine {if $CATEGORIES_DESCRIPTION2}{$CATEGORIES_DESCRIPTION2}{/if}, die auch beim Anlegen/Ändern einer Kategorie mit Inhalten füllen möchte.

    Welche Schritte sind von Seiten der Datenbank und den PHP Dateien notwendig, um dies zu erstellen?

    Ein weiteres Input-Feld beim Anlegen/Ändern einer Kategorie ist klar:

    Code: PHP  [Auswählen]
        <input type="hidden" id="categories_description[2]" name="categories_description[2]" value="" style="display:none" /><input type="hidden" id="categories_description[2]___Config" value="DefaultLanguage=de" style="display:none" /><iframe id="categories_description[2]___Frame" src="/admin/gm/fckeditor/editor/fckeditor.html?InstanceName=categories_description[2]&Toolbar=Big" width="634" height="300" frameborder="0" scrolling="no"></iframe></td>
    so sieht es momentan aus, sollte wohl mit:

    Code: PHP  [Auswählen]
        <input type="hidden" id="categories_description[3]" name="categories_description[3]" value="" style="display:none" /><input type="hidden" id="categories_description[3]___Config" value="DefaultLanguage=de" style="display:none" /><iframe id="categories_description[3]___Frame" src="/admin/gm/fckeditor/editor/fckeditor.html?InstanceName=categories_description[3]&Toolbar=Big" width="634" height="300" frameborder="0" scrolling="no"></iframe></td>
    funktionieren.

    In welchen Systemdateien/DB was kopiert und mit "2" eingefügt werden muss, ist mir leider nicht klar :(

    Vielen Dank schon einmal für Hilfe! :-)

    MfG,
    faststart

    [EDIT Tomcraft 13.10.2011: Hier geht es direkt zum Modul von Cube.]

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

    Tomcraft

    • modified Team
    • Gravatar
    • Beiträge: 46.369
    • Geschlecht:
    Re: MODUL: Weitere Kategoriebeschreibung einfügen
    Antwort #1 am: 11. März 2010, 11:49:14
    Hi faststart,

    schau mal hier: Tutorial: Zusätzliche Datenfelder Artikel

    Grüße

    Torsten

    [EDIT Tomcraft 13.01.2020: Link auf eigenes Wiki geändert, da alter Link nicht mehr verfügbar.]

    xtc-user09

    • Schreiberling
    • Beiträge: 265
    Re: MODUL: Weitere Kategoriebeschreibung einfügen
    Antwort #2 am: 14. März 2010, 17:12:14
    Hallo,

    leider wird nur beschrieben, wie bei einem Artikel ein weiteres Feld eingefügt wird - dies habe ich auch schon einmal gemacht. Über Kategorien ist jedoch nicht die Rede - dies ist vermutlich deutlich anders.

    MfG,
    faststart

    Tomcraft

    • modified Team
    • Gravatar
    • Beiträge: 46.369
    • Geschlecht:
    Re: MODUL: Weitere Kategoriebeschreibung einfügen
    Antwort #3 am: 15. März 2010, 11:23:30
    Wozu willst du denn dafür ein weiteres Feld haben? Willst du das optisch von einander trennen? Ich verstehe den Sinn dahinter noch nicht so ganz.

    Grüße

    Torsten

    xtc-user09

    • Schreiberling
    • Beiträge: 265
    Re: MODUL: Weitere Kategoriebeschreibung einfügen
    Antwort #4 am: 20. März 2010, 15:42:16
    Hallo,
    ganz genau - ich möchte oben einen Text haben, den der Besucher sofort sieht, der eine Kategorie beschreibt usw.
    Unten möchte ich jedoch Zusatzinformationen geben, die nicht für jeden sofort interessant sind. Würde ich das alles oben machen, wären die Produkte soweit unten, dass man sie ohne Scrollen gar nicht mehr sehen würde.

    Weißt du wie man dies möglichst simpel realisieren könnte?

    MfG,
    faststart

    vr

    • modified Team
    • Beiträge: 2.664
    Re: MODUL: Weitere Kategoriebeschreibung einfügen
    Antwort #5 am: 20. März 2010, 15:49:05
    Hallo faststart,

    Dh, Du brauchst nur ein weiteres Textfeld pro Kategoriebeschreibung? Dann musst Du die Tabelle categories_description um dieses Feld erweitern und im Template benutzen.

    Grüße, Volker

    jamiro

    • Mitglied
    • Beiträge: 144
    Re: MODUL: Weitere Kategoriebeschreibung einfügen
    Antwort #6 am: 29. März 2010, 01:44:29
    habs jetzt geschafft das eingabefeld hinzubekommen. die werte, die man eingibt werden auch in der datenbank gespeichert. jetzt wäre meien frage noch wo und wie ich die variable des feldes noch definieren muss, damit ich es dann auch einbinden kann.

    da spielt mein kopf grad nimmer mit. werd mal schlafen gehen.

    danke schon mal

    jamiro

    • Mitglied
    • Beiträge: 144
    Re: MODUL: Weitere Kategoriebeschreibung einfügen
    Antwort #7 am: 29. März 2010, 06:38:50
    hat sich mittlerweile erledigt. war wohl doch zu müde um den fehler zu sehen.

    Tomcraft

    • modified Team
    • Gravatar
    • Beiträge: 46.369
    • Geschlecht:
    Re: MODUL: Weitere Kategoriebeschreibung einfügen
    Antwort #8 am: 29. März 2010, 16:50:39
    Hi jamiro,

    sei doch bitte so lieb und teile deine Lösung noch mit der Community. Die Frage wird bestimmt nochmal auftauchen.

    Grüße

    Torsten

    xtc-user09

    • Schreiberling
    • Beiträge: 265
    Re: MODUL: Weitere Kategoriebeschreibung einfügen
    Antwort #9 am: 31. März 2010, 06:55:34
    Das wäre sehr gut, denn bei mir ist das Thema leider noch nicht gelöst.

    jamiro

    • Mitglied
    • Beiträge: 144
    Re: MODUL: Weitere Kategoriebeschreibung einfügen
    Antwort #10 am: 02. April 2010, 09:20:09
    entschuldigung für die späte antwort. hab erst jetzt gesehen, dass in dem thema noch fragen auftauchen.
    ich kann leider nicht mehr ganz genau sagen wie ich es gemacht habe, aber ich hab mich einfach an das tutorial von xtc wiki gehalten: TTutorial: Zusätzliche Datenfelder Artikel

    das ist zwar für datenfelder in artikeln geschrieben, aber ich hab einfach immer das entsprechende pendant der kategorie gesucht. versuchs mal damit, obs dir hilft.
    wenn du gar nicht weiterkommst, gibst nochmals bescheid, dann werd ich versuchen es nochmals nachzuvollziehen. heute soll der launch des shops vollzogen werden, dann hab ich ein bisschen mehr zeit

    grüße

    [EDIT Tomcraft 13.01.2020: Link auf eigenes Wiki geändert, da alter Link nicht mehr verfügbar.]

    xtc-user09

    • Schreiberling
    • Beiträge: 265
    Re: MODUL: Weitere Kategoriebeschreibung einfügen
    Antwort #11 am: 15. Juni 2010, 19:12:47
    Hallo  jamiro,
    ich habe das Tutorial gelesen und auch geschafft auf der Artikelseite ein weiteres Feld einzufügen - dies lässt sich aber leider (zumindest für mich) nicht auf die Kategorien übertragen. Kannst du vielleicht kurz sagen, in welchen Dateien du die Änderungen vorgenommen hast bzw. was du in der DB ergänzt hast?

    Vielen Dank schon einmal für deine Hilfe!

    MFG,
    xtc-user09

    xtc-user09

    • Schreiberling
    • Beiträge: 265
    Re: MODUL: Weitere Kategoriebeschreibung einfügen
    Antwort #12 am: 05. August 2010, 10:20:46
    Hallo,
    möchte hier noch einmal gerne nachhaken, ob jemand einen Lösungsansatz hat? Sicher ist das Thema "2. Kategoriebeschreibung einfügen" auch für andere interessant.

    MfG,
    xtc-user09

    xtc-user09

    • Schreiberling
    • Beiträge: 265
    Re: MODUL: Weitere Kategoriebeschreibung einfügen
    Antwort #13 am: 09. August 2010, 22:23:27
    Hallo,
    ich habe es jetzt noch einmal versucht - leider erfolglos. Nachfolgend meine einzelnen Schritte zum Nachvollziehen:

    1. In DB ausführen

    Code: SQL  [Auswählen]
    ALTER TABLE 'categories_description'
    ADD 'categories_description2' text NOT NULL;
    2. In admin/includes/modules/new_category.php

    unter

    Code: PHP  [Auswählen]
       } elseif ($_POST) {
          $cInfo = new objectInfo($_POST);
          $categories_name = $_POST['categories_name'];
          $categories_heading_title = $_POST['categories_heading_title'];
          $categories_description = $_POST['categories_description'];
     
    Code: PHP  [Auswählen]
      $categories_description2 = $_POST['categories_description2'];
    eingefügt.

    3. Unter

    Code: PHP  [Auswählen]
          <td class="main" valign="top"><?php  echo TEXT_EDIT_CATEGORIES_DESCRIPTION; ?></td>
                <td><table border="0" cellspacing="0" cellpadding="0">
                  <tr>
                    <td class="main" valign="top"><?php echo xtc_image(DIR_WS_LANGUAGES.$languages[$i]['directory'].'/admin/images/'.$languages[$i]['image']); ?> </td>
                    <td class="main"><?php echo xtc_draw_textarea_field('categories_description[' . $languages[$i]['id'] . ']', 'soft', '70', '25', (($categories_description[$languages[$i]['id']]) ? stripslashes($categories_description[$languages[$i]['id']]) : xtc_get_categories_description($cInfo->categories_id, $languages[$i]['id'])), 'style="width: 600px"'); ?></td>
                  </tr>
     
    Code: PHP  [Auswählen]
               <td class="main" valign="top"><?php  echo TEXT_EDIT_CATEGORIES_DESCRIPTION2; ?></td>
                <td><table border="0" cellspacing="0" cellpadding="0">
                  <tr>
                    <td class="main" valign="top"><?php echo xtc_image(DIR_WS_LANGUAGES.$languages[$i]['directory'].'/admin/images/'.$languages[$i]['image']); ?> </td>
                    <td class="main"><?php echo xtc_draw_textarea_field('categories_description2[' . $languages[$i]['id'] . ']', 'soft', '70', '25', (($categories_description[$languages[$i]['id']]) ? stripslashes($categories_description[$languages[$i]['id']]) : xtc_get_categories_description($cInfo->categories_id, $languages[$i]['id'])), 'style="width: 600px"'); ?></td>
                  </tr>
     
    eingefügt.

    4. In admin/includes/classes/categories.php

    Code: PHP  [Auswählen]
     $sql_data_array = array ('categories_name' => xtc_db_prepare_input($categories_data['categories_name'][$lang['id']]), 'categories_heading_title' => xtc_db_prepare_input($categories_data['categories_heading_title'][$lang['id']]), 'categories_description' => xtc_db_prepare_input($categories_data['categories_description'][$lang['id']]), 'categories_description2' => xtc_db_prepare_input($categories_data['categories_description2'][$lang['id']]), 'categories_meta_title' => xtc_db_prepare_input($categories_data['categories_meta_title'][$lang['id']]), 'categories_meta_description' => xtc_db_prepare_input($categories_data['categories_meta_description'][$lang['id']]), 'categories_meta_keywords' => xtc_db_prepare_input($categories_data['categories_meta_keywords'][$lang['id']]));
     
    categories_description2 ergänz (s.o.)

    In templates/xtc5/module/categorie_listing/categorie_listing.html

    Code: PHP  [Auswählen]
    {if $CATEGORIES_DESCRIPTION2}<p>{$CATEGORIES_DESCRIPTION2}</p>{/if}
    eingefügt.

    Wenn ich nun beim Anlegen/Ändern einer Kategorie in das neue Textfeld "categories_description2" etwas einfüge und speichere, wird dies nicht übernommen, sondern es steht immer der gleiche wert im Feld, wie in der "categories_description". Der Wert der "categories_description2" wird auch nicht im Template angezeigt. Scheinbar wird der Text nicht richtig in der DB gespeichert?

    Wäre super, wenn sich das mal jmd. anschauen könnte, wo ich einen Fehler gemacht habe. :-)

    MfG,
    xtc-user09

    Cube

    • Fördermitglied
    • Beiträge: 94
    • Geschlecht:
    Re: MODUL: Weitere Kategoriebeschreibung einfügen
    Antwort #14 am: 13. August 2010, 05:33:48
    Auf den ersten Blick hab ich nur gesehen, das Du hier die 2 vergessen hast?

    Bin noch unterwegs und schau mir das nachher mal genauer an.

    Code: PHP  [Auswählen]
    <td class="main" valign="top"><?php  echo TEXT_EDIT_CATEGORIES_DESCRIPTION2; ?></td>
     <td><table border="0" cellspacing="0" cellpadding="0">
       <tr>
         <td class="main" valign="top"><?php echo xtc_image(DIR_WS_LANGUAGES.$languages[$i]['directory'].'/admin/images/'.$languages[$i]['image']); ?> </td>
         <td class="main"><?php echo xtc_draw_textarea_field('categories_description2[' . $languages[$i]['id'] . ']', 'soft', '70', '25', (($categories_description[$languages[$i]['id']]) ? stripslashes($categories_description[$languages[$i]['id']]) : xtc_get_categories_description($cInfo->categories_id, $languages[$i]['id'])), 'style="width: 600px"'); ?></td>
       </tr>
     
    muss

    Code: PHP  [Auswählen]
    $categories_description[$languages[$i]['id']
    nicht

    Code: PHP  [Auswählen]
    $categories_description2[$languages[$i]['id']
    sein?

    ----------

    nun solltest Du das Feld speichern können.

    Bevor Du eine Variable im Template ausgeben kannst, musst Du diese dem Template auch zuweisen.

    im Artikeltuto ist das der Part mit:

    Code: PHP  [Auswählen]
     $info_smarty->assign('PRODUCTS_MODEL', $product->data['products_model']);
     
    das sollte sein

    Code: PHP  [Auswählen]
     $info_smarty->assign('CATEGORIES_DESCRIPTION2', $categories_description2[$languages[$i]['id']);
     
    wie gesagt ungetestet, setz ich mich später mal dran zum Nachbauen.

    Gruß Andreas

               
    anything