Jump to content
-Udo-

2.3.4 BS, neue Felder erstellen in categories.php

Recommended Posts

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
    }
?>

 

Share this post


Link to post
Share on other sites

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 ;)

Edited by Yepi

Share this post


Link to post
Share on other sites

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 :)

Share this post


Link to post
Share on other sites

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

 

Share this post


Link to post
Share on other sites
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.


  • The clever one learn from everything and from everybody
  • The normal one learn from his experience
  • The silly one knows everything better

[socrates, 412 before Christ]

Computers help us with the problems we wouldn't have without them!
99.9% of the bugs sit in front of the computer!
My programmed add-ons: WDW EasyTabs 1.0.3, WDW Facebook Like 1.0.0

if(isset($this) || !isset($this)){ // that's the question...

 

Share this post


Link to post
Share on other sites
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.

Share this post


Link to post
Share on other sites

×