Neueste Nachrichten (in Englisch): (am laden..)
-Udo-

2.3.4 BS, neue Felder erstellen in categories.php

9 Beiträge in diesem Thema

Hallo,

ich habe in der Version 2.3.1 erfolgreich mehrere Felder in categories.php (natürlich auch in der DB und in product_info.php)  hinzugefügt und es funktioniert einwandfrei. Jetzt möchte ich die gleichen Felder in der Version 2.3.4 BS hinzufügen und es klappt auch, bis auf eine Ausnahme: wenn ich ein Produkt anlege werden alle Inhalte der Felder, auch die der neuen, in die DB geschrieben und erscheinen auch auf der Produktseite. Nur bei der nachträglichen Bearbeitung des Artikels öffnet die categories.php nur bis zum ersten neu dazugefügten Texteld - die Landesflagge erscheint noch, danach ist alles leer. Wenn ich nun bei den neuen Feldern in categories.php "empty" durch "isset" ersetze - wie in der categories-Version in 2.3.1, dann öffnet categories.php ganz, nur leider ohne die neuen Daten aus der DB.

Danke im Voraus für jede Idee.

mfG

Udo

 

P.S.

hier die kritische Stelle in der categories.php:

<?php
    for ($i=0, $n=sizeof($languages); $i<$n; $i++) {
?>
          <tr>
            <td class="main" valign="top"><?php if ($i == 0) echo TEXT_SHORT_DESC; ?></td>
            <td><table border="0" cellspacing="0" cellpadding="0">
              <tr>
                <td class="main" valign="top"><?php echo tep_image(tep_catalog_href_link('includes/languages/' . $languages[$i]['directory'] . '/images/' . $languages[$i]['image'], '', 'SSL'), $languages[$i]['name']); ?>&nbsp;</td>
                <td class="main"><?php echo tep_draw_textarea_field('short_desc[' . $languages[$i]['id'] . ']', 'soft', '70', '1', (empty($pInfo->products_id) ? '': tep_get_short_desc($pInfo->products_id, $languages[$i]['id']))); ?></td>
              </tr>
            </table></td>
          </tr>
<?php
    }
?>

 

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

case 'insert_product':
case 'update_product':

GLEICH DANACH DIESE QUERY

$sql_data_array = array('products_quantity' => (int)tep_db_prepare_input($_POST['products_quantity']),

HIER ERGÄNZEN UM:
'products_deinfeld1' => tep_db_prepare_input($_POST['products_bdeinfeld1']),

/////////////////////////////////////

$product_query = tep_db_query("select products_quantity, products_model,

HIER ERGÄNZEN UM:

,products_bdeinfeld1

/////////////////////////////////////

tep_db_query("insert into " . TABLE_PRODUCTS . " (products_quantity, products_model

HIER ERGÄNZEN UM:

,products_bdeinfeld1

und

. tep_db_input($product['products_bdeinfeld1']) .

/////////////////////////////////////

if ($action == 'new_product') {

HIER ERGÄNZEN UM:

'products_bdeinfeld1' => '',

/////////////////////////////////////

if (isset($_GET['pID']) && empty($_POST)) {
      $product_query = tep_db_query("select pd.products_name, pd.products_description,

HIER ERGÄNZEN UM:

,products_bdeinfeld1

/////////////////////////////////////

AN GEWÜNSCHTER STELLE EINFÜGEN

<tr bgcolor="#ebebff">
            <td class="main"><?php echo TEXT_PRODUCTS_DEIN_BEDIENFELD1_NAME; ?></td>
            <td class="main"><?php echo tep_draw_separator('pixel_trans.gif', '24', '15') . '&nbsp;' . tep_draw_input_field('products_bdeinfeld1', $pInfo->products_bdeinfeld1, 'style="width: 250px;"'); ?></td>
          </tr>
          <tr>          

/////////////////////////////////////

 } elseif ($action == 'new_product_preview') {
    $product_query = tep_db_query("select p.products_id, pd.language_id, pd.products_name, pd.products_description


HIER ERGÄNZEN UM:

,products_bdeinfeld1

/////////////////////////////////////

} elseif ($action == 'new_product_preview') {
    $product_query = tep_db_query("select p.products_id, pd.language_id, pd.products_name, pd.products_description

HIER ERGÄNZEN UM:

,products_bdeinfeld1


/////////////////////////////////////

if (isset($_GET['search'])) {
      $products_query = tep_db_query("select p.products_id, pd.products_name, p.products_model, p.products_gtin,


HIER ERGÄNZEN UM:

,products_bdeinfeld1


/////////////////////////////////////


Sollte anschliessend alles passen ;)

bearbeitet von Yepi

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

IN DER product_info.php EINFÜGEN

    $dein_bdeinfeld_query = "SELECT products_bdeinfeld1 FROM " . TABLE_PRODUCTS . " WHERE products_status = '1' AND products_id = '" . $product_info['products_id'] . "'";
    $dein_bdeinfeld = '  <br><span class="deine_class">' . $product_info['products_bdeinfeld1'] . '</span>';

AN GEWÜNSCHTER STELLE EINSÄTZEN WO DU DAS FELD AUSGEBEN WILLST


$dein_bdeinfeld

FERTIG :)

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

NICHT VERGESSEN EINE ENTSPRECHENDE SPALTE IN DER DB TABELLE "PRODUCTS" ZU GENERIEREN:

bearbeitet von Yepi

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

product_info.php

$product_info_query = tep_db_query("select p.products_id,

HIER ERGÄNZEN UM:

,products_bdeinfeld1

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

Hallo Yepi,

danke für deine Mühe, aber vielleicht habe ich mich nicht richtig ausgedrückt. Das ist alles bereits erledigt, es betrifft nur die eine Stelle in der categories.php die ich oben beschrieben habe.

Bei Isset ergibt die Abfrage kein Ergebnis, das Feld bleibt leer obwohl die DB Inhalte besitzt, bei empty stoppt das Script an dieser Stelle.

Gruß

Udo

 

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

alles klar, ich habe den Fehler gefunden. Es lag an der general.php

 

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen
On 5.2.2018 at 20:10, -Udo- said:

alles klar, ich habe den Fehler gefunden. Es lag an der general.php

 

@-Udo-Tja, es gibt viele Hilfen, die total am Thema vorbei gehen, bzw. nicht korrekt sind. Wäre aber toll, wenn Du die Lösung hier posten würdest,
damit alle etwas davon haben.

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen
vor 3 Stunden, mcmannehan said:

@-Udo-Tja, es gibt viele Hilfen, die total am Thema vorbei gehen, bzw. nicht korrekt sind. Wäre aber toll, wenn Du die Lösung hier posten würdest,
damit alle etwas davon haben.

die Lösung ist ziemlich profan ;-)

ich hatte 6 neue Felder hinzugefügt und dabei eins vergessen in die general.php einzutragen. Also hier an dieser Stelle:

suchen nach:

function tep_get_products_description($product_id, $language_id) {
    $product_query = tep_db_query("select products_description from " . TABLE_PRODUCTS_DESCRIPTION . " where products_id = '" . (int)$product_id . "' and language_id = '" . (int)$language_id . "'");
    $product = tep_db_fetch_array($product_query);

    return $product['products_description'];
  }

danach einfügen: (Beispiel)


  function tep_get_short_desc($product_id, $language_id) {
    $product_query = tep_db_query("select short_desc from " . TABLE_PRODUCTS_DESCRIPTION . " where products_id = '" . (int)$product_id . "' and language_id = '" . (int)$language_id . "'");
    $product = tep_db_fetch_array($product_query);

    return $product['short_desc'];
  }

 

usw. alle neuen Felder, die in der categories.php zusätzlich angelegt worden sind.

2 Personen gefällt das

Diesen Beitrag teilen


Link zum Beitrag
Auf anderen Seiten teilen

Erstelle ein Benutzerkonto oder melde dich an um zu kommentieren

Du musst ein Benutzerkonto haben um einen Kommentar hinterlassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Geht einfach!


Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde dich hier an.


Jetzt anmelden