前回2つの保留事項がありましたが、とりあえず2つとも解決することが出来ました。
1.カタログで商品一覧を表示する際に
「1054 – Unknown column “p.products_id” in “on clause”」エラーが表示されます。
これは、SQLの評価順位がMySQL5.0から変更になった(さらに厳しくなった)ことが原因であるようです。対策としては、from ・・・ left join ・・・ left join と言う形を使用しているSQLに()を付けて評価する優先順位を明示的に示す必要があります。
/catalog/default.php
$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 = ’” . $languages_id . “’ and p2c.categories_id = ’” . $current_category_id . “’”;
↓
$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 = ’” . $languages_id . “’ and p2c.categories_id = ’” . $current_category_id . “’”;
同様の対応は、各所に入れていかなければいけないと思われます。発見しだいコメントにて追加していきます。
※毎度の事ながら、シングルクォーテーションは全角に変換して表示しています。
2.adminにて、認証後に機能一覧で機能を選択すると、LOGIN画面に戻されてしまいます。
これはどうやら、.htaccessが正常に作動していなかっただけのようです。
次の設定を追加しています。
php_flag output_buffering Off
php_flag register_long_arrays On
php_flag register_globals On
php_value default_charset EUC-JP
php_value mbstring.language Japanese
php_flag encoding_translation On
php_value mbstring.http_input auto
php_value mbstring.http_output EUC-JP
php_value mbstring.internal_encoding EUC-JP
php_value mbstring.substitute_charavter none
php_value session.referer_check (このスクリプトの配置先ドメインを設定)
TrackBack URI : http://njcfactory.com/bbg/wp-trackback.php?p=62
Comments (0)