[Tep-j-general] 子のカテゴリの取得方法

Back to archive index

大洞 pirate_ship****@lived*****
2008年 5月 28日 (水) 21:10:05 JST


はまだ様
早速お返事をいただきまして、ありがとうございます。

データーベースにアクセスするにも決まりごとがあるんですね。

**************************************************************
「ループしてないから」

ではないかと思います(^_^;)

osCで「DBから値を抜く処理」はフツー

> while ($data = tep_db_fetch_array($result)) {
>
>       処理する内容
>
> }

みたく書くと思うんすが、このループが無いのでそのまま過ぎ去り、最初の値し
か取得出来ないように見えるのではないかと。

**************************************************************
早速ループ処理をしたところ、すべての値を取得することができました。

まさにそのとおりでした。

大変、参考になりました。
それとご紹介いただきましたモジュールを早速インソールしてテストしたところ、まさに私が望んでいたモジュールでしたので

**************************************************************

Show All Products in Category & Subcategories V1.0
http://addons.oscommerce.com/info/5351

**************************************************************

今回はこれを活用しようと思います。

わたしと同じ事を望んでいる方にはお勧めですね。

ここまで、悩んでテストして作成した時間が無駄に思えるくらい簡単に導入する事ができました。

日本語版とはページ等や弱間の構文エラー等があったので、下記に今後の方のために記載しておきますね。

はまだ様のようにoScに精通していらしゃる方がメーリングリストに見えますと私のような初心者にはとても助かります。

今後ともよろしくお願いします。

本当にありがとうございました。


*注 インソールする前にデーターのバックアップを忘れずに。

変更ファイル  catalog/default.php、catalog/includes/modules/product_listing.php
バージョンosCommerce 2.2 MS1j-R8の場合

catalog/default.phpの変更点 1

P20

変更箇所

    if ($cateqories_products['total'] > 0) {
      $category_depth = 'products'; // display products
    } else {


変更後

   if (tep_count_products_in_category($cPath) > 0) {
      $category_depth = 'products'; // display products
   } else {

*******************

catalog/default.phpの変更点 2

P189

変更箇所

// We show them all
        $listing_sql = "select " . $select_column_list . " p.products_id,
p.manufacturers_id, p.products_price, p.products_tax_class_id, IF(s.status,
s.specials_new_products_price, NULL) as specials_new_products_price,
IF(s.status, s.specials_new_products_price, p.products_price) as final_price
from " . TABLE_PRODUCTS_DESCRIPTION . " pd, " . TABLE_PRODUCTS . " p left
join " . TABLE_MANUFACTURERS . " m on p.manufacturers_id =
m.manufacturers_id, " . TABLE_PRODUCTS_TO_CATEGORIES . " p2c left join " .
TABLE_SPECIALS . " s on p.products_id = s.products_id where
p.products_status = '1' and p.products_id = p2c.products_id and
pd.products_id = p2c.products_id and pd.language_id = '" .
(int)$languages_id . "' and p2c.categories_id = '" .
(int)$current_category_id . "'";
      }


変更後

// We show them all
   $cPathA = explode("_", $cPath);
   $size = sizeof($cPathA)-1;
   $subcategories_array = array();
   tep_get_subcategories($subcategories_array, $cPathA[$size]);
   $size_sc = sizeof($subcategories_array); //Subcat count
   $cat_Search = "(";
   for($i = 0; $i < $size_sc; $i++){
      $cat_Search .= "p2c.categories_id = '" . $subcategories_array[$i] . "'
or ";
   }
   $cat_Search .= "p2c.categories_id = '" . $cPathA[$size] . "'" . ")";

      $listing_sql = "select distinct " . $select_column_list . "
p.products_image, pd.products_name, p.products_id, p.manufacturers_id,
p.products_price, p.products_tax_class_id, IF(s.status,
s.specials_new_products_price, NULL) as specials_new_products_price,
IF(s.status, s.specials_new_products_price, p.products_price) as final_price
from " . TABLE_PRODUCTS_DESCRIPTION . " pd, " . TABLE_PRODUCTS . " p left
join " . TABLE_MANUFACTURERS . " m on p.manufacturers_id =
m.manufacturers_id left join " . TABLE_SPECIALS . " s on p.products_id =
s.products_id, " . TABLE_PRODUCTS_TO_CATEGORIES . " p2c where
p.products_status = '1' and p.products_id = p2c.products_id and
pd.products_id = p2c.products_id and pd.language_id = '" .
(int)$languages_id . "' and " . $cat_Search . "";
      }

*******************
以上 catalog/default.php
////////////////////////////////////////////////////////////////////////////

catalog/includes/modules/product_listing.phpの変更点 1

P114

変更箇所

                        case 'PRODUCT_LIST_NAME':
            $lc_align = '';
            if (isset($HTTP_GET_VARS['manufacturers_id'])) {
              $lc_text = '<a href="' . tep_href_link(FILENAME_PRODUCT_INFO,
'manufacturers_id=' . $HTTP_GET_VARS['manufacturers_id'] . '&products_id=' .
$listing['products_id']) . '">' . $listing['products_name'] . '</a>';
            } else {
              $lc_text = '&nbsp;<a href="' .
tep_href_link(FILENAME_PRODUCT_INFO, ($cPath ? 'cPath=' . $cPath . '&' : '')
. 'products_id=' . $listing['products_id']) . '">' .
$listing['products_name'] . '</a>&nbsp;';
            }



変更後

                    case 'PRODUCT_LIST_NAME':
            $lc_align = '';
            if (isset($HTTP_GET_VARS['manufacturers_id'])) {
              $lc_text = '<a href="' . tep_href_link(FILENAME_PRODUCT_INFO,
'manufacturers_id=' . $HTTP_GET_VARS['manufacturers_id'] . '&products_id=' .
$listing['products_id']) . '">' . $listing['products_name'] . '</a>';
            } else {
              $lc_text = '&nbsp;<a href="' .
tep_href_link(FILENAME_PRODUCT_INFO, 'products_id=' .
$listing['products_id']) . '">' . $listing['products_name'] . '</a>&nbsp;';
            }


*******************

catalog/includes/modules/product_listing.phpの変更点 2

P142

変更箇所

          case 'PRODUCT_LIST_IMAGE':
            $lc_align = 'center';
            if (isset($HTTP_GET_VARS['manufacturers_id'])) {
              $lc_text = '<a href="' . tep_href_link(FILENAME_PRODUCT_INFO,
'manufacturers_id=' . $HTTP_GET_VARS['manufacturers_id'] . '&products_id=' .
$listing['products_id']) . '">' . tep_image(DIR_WS_IMAGES .
$listing['products_image'], $listing['products_name'], SMALL_IMAGE_WIDTH,
SMALL_IMAGE_HEIGHT) . '</a>';
            } else {
              $lc_text = '&nbsp;<a href="' .
tep_href_link(FILENAME_PRODUCT_INFO, ($cPath ? 'cPath=' . $cPath . '&' : '')
. 'products_id=' . $listing['products_id']) . '">' . tep_image(DIR_WS_IMAGES
. $listing['products_image'], $listing['products_name'], SMALL_IMAGE_WIDTH,
SMALL_IMAGE_HEIGHT) . '</a>&nbsp;';
            }


変更後

          case 'PRODUCT_LIST_IMAGE':
            $lc_align = 'center';
            if (isset($HTTP_GET_VARS['manufacturers_id'])) {
              $lc_text = '<a href="' . tep_href_link(FILENAME_PRODUCT_INFO,
'manufacturers_id=' . $HTTP_GET_VARS['manufacturers_id'] . '&products_id=' .
$listing['products_id']) . '">' . tep_image(DIR_WS_IMAGES .
$listing['products_image'], $listing['products_name'], SMALL_IMAGE_WIDTH,
SMALL_IMAGE_HEIGHT) . '</a>';
            } else {
              $lc_text = '&nbsp;<a href="' .
tep_href_link(FILENAME_PRODUCT_INFO, 'products_id=' .
$listing['products_id']) . '">' . tep_image(DIR_WS_IMAGES .
$listing['products_image'], $listing['products_name'], SMALL_IMAGE_WIDTH,
SMALL_IMAGE_HEIGHT) . '</a>&nbsp;';
            }

*******************
以上 catalog/includes/modules/product_listing.php
////////////////////////////////////////////////////////////////////////////

終了

>
>
>
>
>
-------------- next part --------------
HTMLの添付ファイルを保管しました...
Download 


Tep-j-general メーリングリストの案内
Back to archive index