アーカイブ

投稿者のアーカイブ

uCartの商品画像を角丸にする事ができたので、ご報告です。

力技なので、別な方法があるとよいのですが。

角丸には、corner.jsを使用します。

http://gigazine.net/index.php?/news/comments/20070420_corner_js/

uCartでは、商品画像は、wp_get_attachment_image() を用いて表示しています。

この関数は、/wordpress/wp-includes/media.phpで定義され、クラスは

‘class’?? ?=> “attachment-$size”

と決められております。

(吐かれるソース例:class=”attachment-100×100″)

corner.jsでは、classの指定で角丸を反映しますので、このままでは角丸になりません。

そこで、以下の方法で商品画像のクラスを変更します。

  1. wp_get_attachiment_image()をベースに新たな関数を作る。
  2. uCartのwp_get_attachiment_image()呼び出しを、新たな関数に変更する。

※wp_get_attachiment_image()を直接修正しても実現はできますが、wpのソースを直接いじるのは避けたかったので、uCartに手を加えることにしました。

手順:

  1. wp_get_attachiment_image()をベースに新たな関数を作る。
    1. /wordpress/wp-includes/media.php の530行目から556行目をコピーし、使用テーマの functions.php の最下部に貼り付ける。
    2. 関数名を変更する。
      例) function wp_get_attachment_image
      → function my_wp_get_attachment_image_corner
    3. コピペの上下をPHPタグ(<?php、?>)で囲む。
    4. class指定を変更する。
      例) ’class’?? ?=> “attachment-$size”,
      → ’class’?? ?=> “corner iradius16″,
  2. uCartのwp_get_attachiment_image()呼び出しを、新たな関数に変更する。
    1. usc-e-shop\functions\template_func.php 368行目を変更する。
      例) $html = wp_get_attachment_image( $pictids[$number], array($width, $height), false );//’<img src=”#” height=”60″ width=”60″ alt=”" />’;
      → $html = my_wp_get_attachment_image_corner( $pictids[$number], array($width, $height), false );//’<img src=”#” height=”60″ width=”60″ alt=”" />’;

実装サンプル:http://hsksyusk.hostei.com/wordpress/archives/category/item/itemgenre/nyankot

参考:http://y2web.net/blog/inet/wp/gallery-customize-618/

<?php

function my_wp_get_attachment_image_corner($attachment_id, $size = ‘thumbnail’, $icon = false) {

$html = ”;
$image = wp_get_attachment_image_src($attachment_id, $size, $icon);
if ( $image ) {
list($src, $width, $height) = $image;
$hwstring = image_hwstring($width, $height);
if ( is_array($size) )
$size = join(‘x’, $size);
$attachment =& get_post($attachment_id);
$attr = array(

カテゴリー: 未分類 タグ:
2009 年 9 月 4 日 hsksyusk コメント 3 件

uCartではなくWP側の問題のような気もしますが・・・
・環境
サーバ:000webhost
uCartバージョン:0.1.20
WPバージョン:2.8.4
MySQLバージョン:5.1
PHPバージョン:5
サイトURL:http://hsksyusk.hostei.com/wordpress/
※サイトは本事象が起きる状態になっていますが、今週末には修正します。

・事象
商品個別ページから「カートへ入れる」ボタンでカート画面へ移動した場合、もしくは、メニューからカート画面へ遷移した後、「上記内容でお客様情報入力をする」で次の画面へ遷移した場合、wp_list_pagesで表示しているリンクのタイトルが、全てカートのページタイトル(「カート」や「お客様情報」)になります。

ソースを追うと、useeshop.class.php の3203行目、以下の行が動く場合に、この事象が起きているように見えます。

add_filter(‘the_title’, array($this, ‘filter_cartTitle’));

useeshop.class.php の3171行目?3194行目をコメントアウトすることで、上記現象を回避できます。
が、この対応では、カート内で表示されるページタイトル(the_title())が、「お客様情報」「配送・支払方法」にページ遷移しても、「カート」のまま表示されます。

ウチのサイトではthe_titleを使わないテンプレートを使用する予定なので、上記の回避でも問題ないのですが、とりあえずご報告です。

カテゴリー: 未分類 タグ:
2009 年 9 月 4 日 hsksyusk コメント 1 件

uCartバージョン:0.1.20

カート上部のメニューで、番号が2重に表示されます。下記のようなイメージです。

1.1.カート 2.2.お客様情報 3.3.発送・支払方法 4.4.内容確認

これは、ソースにベタ打ちの全角数字の番号と、olリストで出力される番号の両方が出力されているためです。

ソースを見ると、usces_cart.css の461行目にて、ucart.olに対して list-style-type: none; を指定しています。
しかし、テーマ側でliのlist-style-typeが指定されている場合、そちらが優先され、場合によっては上記のような状態になるようです。(WPのデフォルトテーマも該当します。)

以下のエントリーにある通り、usces_cart.css を対象テーマのcssフォルダにコピーし、 li.ucart に対して list-style-type: none; を指定(472行目に追加)してやることで、回避可能です。

http://www.welcart.com/community/archives/35

カテゴリー: デザインテーマについて タグ:
2009 年 8 月 27 日 hsksyusk コメント 4 件

http://hsksyusk.sitemix.jp/blog/

sitemixにて使用しております。バージョンは0.1.20です。

注文処理がうまく動きません。
カートでの入力を進め、最後の「上記内容で注文する」をクリックすると、エラー画面(error.php)に遷移します。
画面のメッセージは
「ご注文が完了しませんでした。
(error )」

ソースを追ってみましたが、この画面に遷移する条件が読めませんでした。
何が契機となって、この画面に遷移するのでしょうか?

カテゴリー: 未分類 タグ: