Archive for 8 月, 2009

zencart:商品詳細項目追加(newマーク)

Posted on 土曜日, 8 月 29th, 2009 at 7:50 PM

 商品詳細画面にて項目を増やそう。そして
newマークまたはupマークかどちらかを表示し、さらにそのマークは72時間で消えるようにしよう。

新着情報欄に並ぶ商品が再入荷か、新製品か一目でわかるように区別を付けたいw

一定時間new表示

本家でモジュールがあるらしい。。 けど今回は自力でw (最近ちょっと調子に乗ってきたw 自己責任w

考え方は、管理画面の新着リストでマーク設定が(0ではない)ONになっていてさらに商品登録後72時間以内であればマークを表示する。そのマークは商品登録時にnew (1)or up(0)を設定し 1なら newを そうでない0なら up を表示。って感じだな。。マーク設定が(0ならば)OFFなら何も表示しない。

でフィールドを追加。

----------

例えば

追加フィールド products_new_up

ALTER TABLE `products` ADD `products_new_up` TINYINT( 1 ) NOT NULL DEFAULT '1' AFTER `products_qty_box_status` ;

----------

/admin/includes/languages/japanese/product.(日本語ファイル)

-------------

例えば

define('TEXT_NEW_UP', '新製品new又は再入荷品up:');
define('TEXT_PRODUCTS_NEW_UP_ON', 'Newマーク');
define('TEXT_PRODUCTS_NEW_UP_OFF', 'upマーク');
define('TEXT_PRODUCTS_NEW_UP_EDIT','upマークに設定');

-------------

商品タイプのディレクトリ以下にファイルを作ってもおkかのかもしれん。かも。?違うかもw

/admin/includes/modules/product_general/collect_info.
/admin/includes/modules/product/collect_info.

好きな場所に好きなのを追加する。
もちろん追加したフィールドを・・・。

-----------

例えば

                       'products_new_up' => PRODUCTS_NEW_UP,

p.products_new_up,

//これも?wよくわからんがw↓

// products_new_up shows
    if (!isset($pInfo->products_new_up)) $pInfo->products_qty__new_up = PRODUCTS_NEW_UP;
    switch ($pInfo->products_new_up) {
      case '0': $is_products_new_up = false; $not_products_new_up = true; break;
      case '1': $is_products_new_up = true; $not_products_new_up = false; break;
      default: $is_products_new_up = true; $not_products_new_up = false;
    }
///

          <tr>
            <td class="main"><? echo TEXT_NEW_UP; ?></td>
            <td class="main"><? echo zen_draw_separator('pixel_trans.gif', '24', '15') . '&nbsp;' . zen_draw_radio_field('products_new_up', '1', $is_products_new_up) . '&nbsp;' . TEXT_PRODUCTS_NEW_UP_ON . '&nbsp;' . zen_draw_radio_field('products_new_up', '0', $not_products_new_up) . '&nbsp;' . TEXT_PRODUCTS_NEW_UP_OFF . ' ' . ($pInfo->products_new_up == 0 ? '<br /><span class="errorText">' . TEXT_PRODUCTS_NEW_UP_EDIT . '</span>' : ''); ?></td>
          </tr>

-----------

更新内容も編集。

/admin/includes/modules/update_product.

--------------

例えば

                            'products_new_up' => zen_db_prepare_input($_POST['products_new_up']),

 

--------------

/includes/modules/pages/product_info/main_template_vars.

p.products_new_up,

  $products_new_up = $product_info->fields['products_new_up'];

---------------

で あとは必要に応じて  テキトーに編集。

-------------

例えばw

/includes/templates/テンプレート/templates/tpl_product_info_display.

<?
$before3days = date("Y-m-d.h:i:s",strtotime("-72 hours",time()));
  if ($products_new_up == 1 and ($before3days < $products_date_added )) {
echo "<img src='/includes/templates/テンプレート/images/new_74.gif' >\n";
}
elseif ($products_new_up == 0 and ($before3days < $products_date_added ) )
{
echo "<img src='/includes/templates/テンプレート/images/up_54.gif' >\n";
}else {
echo  '';
}
?>

とりあえず現時点では、思うように動いている?ようです。動作保証できません・・・。自己責任。 つづく・・・

関連記事

zencart:ログインできない

Posted on 木曜日, 8 月 27th, 2009 at 3:56 PM

にて 過去顧客がログイン出来ないというトラブルが過去発生した。(未解決)

しかも全員ログイン出来ないのではなく、なぜか一部?の顧客のみログイン出来ないようだ。自PCよりログイン可能・・したがって試行できない。

ユーザー登録は通常通り完了するのだが その後ログインしているハズなのに
いつまにか外れていて (きっと通常はログインを維持できるのだが なぜかログインが保てていない。ユーザー登録後1度もログインすることが出来ていないようだ。)再度ログインしてくださいという画面になるようだ。

ユーザー登録後、出来てもログインそのものが出来ないようだ。

なぜだろう。。。。

よくわからないがいろいろ参照してみて試してみることにするw

 

2009.08.27

/includes/functions/sessions. と strict_sessions. ファイルの赤字を青字に変更。
  function zen_session_recreate() {
    global $http_domain, $https_domain, $current_domain;
      if ($http_domain == $https_domain) {
//      $saveSession = $_SESSION;
$saveSession = array();

$sess_keys = array_keys( $_SESSION );

foreach ( $sess_keys as $key ) {

$saveSession[$key] = $_SESSION[$key];

}

//

      $oldSessID = session_id();
      session_regenerate_id();
      $newSessID = session_id();
      session_id($oldSessID);
      session_id($newSessID);
      if (STORE_SESSIONS == 'db') {
        session_set_save_handler('_sess_open', '_sess_close', '_sess_read', '_sess_write', '_sess_destroy', '_sess_gc');
      }
      session_start();
//      $_SESSION = $saveSession;
$_SESSION = array();

foreach( $sess_keys as $key ) {

$_SESSION[$key] = $saveSession[$key];

}
//

------------------

しばらく様子見ることにしよう。自PCよりは変わらずログイン可能。

関連記事

zencart:新着リストその2

Posted on 金曜日, 8 月 21st, 2009 at 7:07 PM

にて新着リストその2を作る。

箇条書きバージョンを作るw 全てコピーし ファイル名を変更。_2とか list2とかに。。。

/includes/templates/テンプレート/templates/tpl_modules_products_new_listing_2.

/includes/templates/テンプレート/templates/tpl_products_new_list2_default.

/includes/modules/pages/products_new_list2

includes/languages/japanese/テンプレート/products_new_list2.

 

tpl_modules_products_new_listing_2. これをテキトーに変更w

関連記事

excel:英数のみ半角アドオン

Posted on 木曜日, 8 月 13th, 2009 at 6:56 PM

http://uiusite.web.fc2.com/windows_free.html#addpopmenuv0.32

日本語・英数混の場合

日本語(漢字・ひらがな・カタカナ)は全角のままで 英数のみ半角にするアドオン

チェック「設定」「ポップアップメニュー拡張」「文字列」

関連記事

zencart:特価品一覧売り切れ表示

Posted on 月曜日, 8 月 10th, 2009 at 5:11 PM

にて特価品一覧画面・・・売り切れの場合 売り切れマークを表示

/includes/modules/pages/specials/main_template_vars.

$specials_query_raw = "SELECT p.products_id, p.products_image, pd.products_name ,p.products_quantity

 
if ($specials->fields['products_quantity'] > 0) {
      $products_price = zen_get_products_display_price($specials->fields['products_id']);
      } else {
      $products_price =  zen_get_products_display_price($specials->fields['products_id']). '<br />'. zen_get_buy_now_button($specials->fields['products_id'], $link);
      }

 ----------------

ちょっと理解できん

,$link ,$product_id ,$the_button

/httpdocs/includes/functions/functions_general. 1133行目

// Switch buy now button based on call for price sold out etc.
  function zen_get_buy_now_button($product_id, $link, $additional_link = false) {
    global $db;

関連記事

zencart:おすすめ売り切れ非表示

Posted on 月曜日, 8 月 10th, 2009 at 4:16 PM

if ( (!isset($new_products_category_id)) || ($new_products_category_id == '0') ) {
  $featured_products_query = "select distinct p.products_id, p.products_image, pd.products_name, p.products_date_added
                           from (" . TABLE_PRODUCTS . " p
                           left join " . TABLE_FEATURED . " f on p.products_id = f.products_id
                           left join " . TABLE_PRODUCTS_DESCRIPTION . " pd on p.products_id = pd.products_id )
                           where p.products_id = f.products_id and p.products_id = pd.products_id and p.products_status = 1 and f.status = 1 and pd.language_id = '" . (int)$_SESSION['languages_id'] . "'";
} else {

 ---------------------

  $featured_products_query = "select distinct p.products_id, p.products_image, pd.products_name, p.products_date_added, p.products_quantity

                           where p.products_id = f.products_id and p.products_id = pd.products_id and p.products_status = '1' and p.products_quantity >= 1  and f.status = 1 and pd.language_id = '" . (int)$_SESSION['languages_id'] . "'";

 

参考掲示板

関連記事