rechtstexte für onlineshop
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 Merkzettel - deaktivierte Artikel ausblenden.

    Babö0407

    • Fördermitglied
    • Beiträge: 122
    Hallo,
    ich habe seit längerem das Modul Merkzettel in meinem Shop am laufen.
    Habe damit auch keine Probleme.
    Nun möchte ich, das wenn ich einen Artikel vorübergehend deaktiviere, das dieser dann nicht im Merkzettel der Kunden gelistet wird.
    Ich habe versucht mit folgendem Code dies zu bewerkstelligen.

    Code: PHP  [Auswählen]
    {if $module_data.PRODUCTS_STATUS=='1'}{/if}
     

    also so:

    Code: PHP  [Auswählen]
      {foreach name=aussen item=module_data from=$module_content}
      {if $module_data.PRODUCTS_STATUS=='1'}
      <tr>
        <td height="5" colspan="5"></td>
      </tr>
      <tr>
        <td align="left" valign="top" class="main">{if $module_data.PRODUCTS_IMAGE!=''}<img src="{$module_data.PRODUCTS_IMAGE}" width="60" height="60" border="0">{/if}</td>
        <td align="left" valign="top" class="main"><div align="center">{$module_data.PRODUCTS_QTY}</div></td>
        <td valign="top" class="main"><strong><a href="{$module_data.PRODUCTS_LINK}">{$module_data.PRODUCTS_NAME}</a></strong>{$module_data.PRODUCTS_SINGLE_PRICE}<br />
          {if $module_data.ATTRIBUTES!=''}
          <table width="100%" border="0" cellspacing="0" cellpadding="0">
            {foreach key=key_data item=item_data from=$module_data.ATTRIBUTES}
            <tr>
              <td width="1" class="main">{$item_data.NAME}:</td>
              <td class="main"><div align="left">{$item_data.VALUE_NAME}</div></td>
            </tr>
            {/foreach}
          </table>
          {else}
          <div class="main" style="display:inline">{$module_data.PRODUCTS_SHORT_DESCRIPTION|truncate:40:"...":true}</div>
          {/if}
          {$module_data.BUY_NOW}</td>
        <td align="right" valign="top" nowrap class="main" style="border-right:1px solid;border-color:#cccccc;"><div align="right">{$module_data.PRODUCTS_PRICE}&nbsp;</div>
          <table width="100%" border="0" cellspacing="0" cellpadding="0">
            {foreach key=key_data item=item_data from=$module_data.ATTRIBUTES}
            <tr>
              <td align="right" class="main" style="padding-right:2px">{$item_data.PRICE}</td>
            </tr>
            {/foreach}
          </table></td>
        <td align="center" valign="middle" class="boxTextBGII">{$module_data.BOX_DELETE}</td>
      </tr>
      {/if}
      {/foreach}
     

    Hat natürlich nicht funktioniert. Wäre ja auch zu einfach gewesen.
    Kann mir bitte jemand bei dieser Sache helfen?

    Gruß Bastian

    Linkback: https://www.modified-shop.org/forum/index.php?topic=20048.0
    Trade Republic - Provisionsfrei Aktien handeln

    galadi

    • Neu im Forum
    • Beiträge: 25
    Re: Modul Merkzettel - deaktivierte Artikel ausblenden.
    Antwort #1 am: 03. Juni 2012, 12:43:13
    hallo versuche das zu testen aber meine Erweiterung wish_list.php bleibt weiß beim aufruf. Ich sehe aber das er was einträgt in die Datenbank. Wenn du 1.05b benutzt wäre es toll eine zip Datei mit den erforderlichen Dateien einzu stellen. Dann könnte ich das auch testen. meine sind....

    Koala

    • Frisch an Board
    • Beiträge: 69
    Re: Modul Merkzettel - deaktivierte Artikel ausblenden.
    Antwort #2 am: 26. Juni 2013, 12:21:02
    lad bitte die Datei _error_reporting.dev im Verzeichnis "export" auf den Webspace hoch.

    Poste dann die Fehlermeldungen die Du beim Aufruf des Merkzettels erhälst.

    In der order_detaills_wishlist.php werden die jeweiligen Inhalte den Smarty-Variablen zugeordnet:
    Code: PHP  [Auswählen]
    $module_content[$i]=array(
      'PRODUCTS_NAME'              => $products[$i]['name'].$mark_stock,
      'PRODUCTS_QTY'               => xtc_draw_input_field('cart_quantity[]', $products[$i]['quantity'], 'size="2"') . xtc_draw_hidden_field('products_id[]', $products[$i]['id']),
      'PRODUCTS_MODEL'             => $products[$i]['model'],
      'PRODUCTS_TAX'               => number_format($products[$i]['tax'], TAX_DECIMAL_PLACES),
      'PRODUCTS_IMAGE'             => $image,
      'IMAGE_ALT'                  => $products[$i]['name'],
      'BOX_DELETE'                 => xtc_draw_checkbox_field('cart_delete[]', $products[$i]['id']),
      'DELETE_ICON'                => '<a href="'. xtc_href_link(FILENAME_SHOPPING_CART, 'action=update_product_cart&products_id='.$products[$i]['id']). '">'.  xtc_image('templates/'.CURRENT_TEMPLATE.'/img/button_cart_delete.jpg', 'l&ouml;schen'). '</a>',
      'PRODUCTS_LINK'              => xtc_href_link(FILENAME_PRODUCT_INFO, 'products_id=' . $products[$i]['id']),
      'PRODUCTS_PRICE'             => $xtPrice->xtcFormat($products[$i]['price']*$products[$i]['quantity'],true),
      'PRODUCTS_SINGLE_PRICE'      => $xtPrice->xtcFormat($products[$i]['price'],true),
      'PRODUCTS_SHORT_DESCRIPTION' => strip_tags(xtc_get_short_description($products[$i]['id'])),
      'ATTRIBUTES' => '',
      'BUY_NOW' => '<br /><a href="' . xtc_href_link(basename($PHP_SELF), xtc_get_all_get_params(array('action')) . 'action=buy_now&BUYproducts_id=' . $products[$i]['id'], 'NONSSL') . '">' . xtc_image_button('button_buy_now_small.gif', TEXT_BUY . TEXT_NOW)
      );

    Dort müßte also noch PRODUCTS_STATUS rein:
    Code: PHP  [Auswählen]
    $module_content[$i]=array(
       'PRODUCTS_STATUS'              => $products[$i]['products_status'],
      'PRODUCTS_NAME'              => $products[$i]['name'].$mark_stock,
      'PRODUCTS_QTY'               => xtc_draw_input_field('cart_quantity[]', $products[$i]['quantity'], 'size="2"') . xtc_draw_hidden_field('products_id[]', $products[$i]['id']),
      'PRODUCTS_MODEL'             => $products[$i]['model'],
      'PRODUCTS_TAX'               => number_format($products[$i]['tax'], TAX_DECIMAL_PLACES),
      'PRODUCTS_IMAGE'             => $image,
      'IMAGE_ALT'                  => $products[$i]['name'],
      'BOX_DELETE'                 => xtc_draw_checkbox_field('cart_delete[]', $products[$i]['id']),
      'DELETE_ICON'                => '<a href="'. xtc_href_link(FILENAME_SHOPPING_CART, 'action=update_product_cart&products_id='.$products[$i]['id']). '">'.  xtc_image('templates/'.CURRENT_TEMPLATE.'/img/button_cart_delete.jpg', 'l&ouml;schen'). '</a>',
      'PRODUCTS_LINK'              => xtc_href_link(FILENAME_PRODUCT_INFO, 'products_id=' . $products[$i]['id']),
      'PRODUCTS_PRICE'             => $xtPrice->xtcFormat($products[$i]['price']*$products[$i]['quantity'],true),
      'PRODUCTS_SINGLE_PRICE'      => $xtPrice->xtcFormat($products[$i]['price'],true),
      'PRODUCTS_SHORT_DESCRIPTION' => strip_tags(xtc_get_short_description($products[$i]['id'])),
      'ATTRIBUTES' => '',
      'BUY_NOW' => '<br /><a href="' . xtc_href_link(basename($PHP_SELF), xtc_get_all_get_params(array('action')) . 'action=buy_now&BUYproducts_id=' . $products[$i]['id'], 'NONSSL') . '">' . xtc_image_button('button_buy_now_small.gif', TEXT_BUY . TEXT_NOW)
      );

    Und dann muß noch der Status in $products, moment bitte.

    Koala

    • Frisch an Board
    • Beiträge: 69
    Re: Modul Merkzettel - deaktivierte Artikel ausblenden.
    Antwort #3 am: 26. Juni 2013, 12:54:28
    in includes/classe/wish_list.php gibt es:
    Code: PHP  [Auswählen]
    function get_products() {
        global $xtPrice;
        if (!is_array($this->contents)) return false;
        $products_array = array();
        reset($this->contents);
        while (list($products_id, ) = each($this->contents)) {
          $products_query = xtc_db_query("select p.products_id, pd.products_name,p.products_image, p.products_model, p.products_price, p.products_discount_allowed, p.products_weight, p.products_tax_class_id from " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_DESCRIPTION . " pd where p.products_id='" . xtc_get_prid($products_id) . "' and pd.products_id = p.products_id and pd.language_id = '" . $_SESSION['languages_id'] . "'");
          if ($products = xtc_db_fetch_array($products_query)) {
            $prid = $products['products_id'];
            $products_price = $xtPrice->xtcGetPrice($products['products_id'],
            $format=false,
            $this->contents[$products_id]['qty'],
            $products['products_tax_class_id'],
            $products['products_price']);
            $products_array[] = array('id' => $products_id,
            'name'         => $products['products_name'],
            'model'        => $products['products_model'],
            'image'        => $products['products_image'],
            'price'        => $products_price+$this->attributes_price($products_id),
            'quantity'     => $this->contents[$products_id]['qty'],
            'weight'       => $products['products_weight'],
            'final_price'  => ($products_price+ $this->attributes_price($products_id)),
            'tax_class_id' => $products['products_tax_class_id'],
            'attributes'   => $this->contents[$products_id]['attributes']);
          }
        }
        return $products_array;
      }

    ersetzen mit:
    Code: PHP  [Auswählen]
      function get_products() {
        global $xtPrice;
        if (!is_array($this->contents)) return false;
        $products_array = array();
        reset($this->contents);
        while (list($products_id, ) = each($this->contents)) {
          $products_query = xtc_db_query("select p.products_id, p.products_status, pd.products_name,p.products_image, p.products_model, p.products_price, p.products_discount_allowed, p.products_weight, p.products_tax_class_id from " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_DESCRIPTION . " pd where p.products_id='" . xtc_get_prid($products_id) . "' and  p.products_status = '1' and pd.products_id = p.products_id and pd.language_id = '" . $_SESSION['languages_id'] . "'");
          if ($products = xtc_db_fetch_array($products_query)) {
            $prid = $products['products_id'];
            $products_price = $xtPrice->xtcGetPrice($products['products_id'],
            $format=false,
            $this->contents[$products_id]['qty'],
            $products['products_tax_class_id'],
            $products['products_price']);
            $products_array[] = array('id' => $products_id,
                    'name'         => $products['products_name'],
            'products_status'         => $products['products_status'],
            'model'        => $products['products_model'],
            'image'        => $products['products_image'],
            'price'        => $products_price+$this->attributes_price($products_id),
            'quantity'     => $this->contents[$products_id]['qty'],
            'weight'       => $products['products_weight'],
            'final_price'  => ($products_price+ $this->attributes_price($products_id)),
            'tax_class_id' => $products['products_tax_class_id'],
            'attributes'   => $this->contents[$products_id]['attributes']);
          }
        }
        return $products_array;
      }

    und jetzt müßte es gehn.
    3 Antworten
    3167 Aufrufe
    01. November 2015, 20:11:56 von fishnet
    2 Antworten
    997 Aufrufe
    15. März 2019, 19:14:42 von Luitgard
               
    anything