CS-Cart PHP開発をPSR-1/PSR-2 standards 準拠に

mmochiです。

今更感もあるわけですが、あんどぷらすのPHP開発をより厳格にPSR-1/PSR-2 standards 準拠していこうと。
というのも、これまで開発は私一人で行ってきたのですがさすがにいつまでもそんなわけにもいかず、「開発スタッフを育てる」もしくは「開発スタッフを雇用する」必要に迫られています。

私一人で開発する際には私がPSR-1/PSR-2 standards 準拠に気をつけてコーディングすれば良かったわけですが、スタッフが増えるとそのばらつきも懸念せざるを得ない状況になります。

本来、コーディングルールへの準拠は開発の本質とはかけ離れていると考えます。
コードの整形に時間を割くのは本末転倒であるということです。

そのため、コードの整形は極力ツールに任せようという方針のもと、開発ツールの統一化、整形ツールの統一を進めていこうと思っています。
成果物の品質担保、メンテナンス性向上につながることを期待します。

 

#概要(とあるところからの抜粋翻訳)

  • PSR-1に準拠。
  • インデントには4つのスペースを使用し、タブは使用不可。
  • 行の長さに対してのハードリミットはNG。ソフトリミットは120文字を上限とし、実際は80文字以内に抑えるべき。
  • 名前空間定義のあとには空行が必須。use定義ブロックのあとにも空行必須。
  • クラスの開き括弧は次の行に記述。閉じ括弧は本文最後の次の行に記述。
  • メソッドの開き括弧は次の行に記述。閉じ括弧は本文最後の次の行に記述。
  • アクセス修飾子は、全てのプロパティ、メソッドに定義。abstractとfinalはアクセス修飾子の前に定義、staticはアクセス修飾子の後に定義。
  • 制御構造の開始時は、その後に1スペースを開ける。メソッドや関数の呼び出しはスペースを開けない。
  • 制御構造の開き括弧は同じ行に記述。閉じ括弧は本文最後の次の行に記述。
  • 制御構造の開始前のスペースはNG。閉じる際もその前のスペースはNG。

PHPのコーディング規則だけでなく、HTML、CSSのコーディングルール、各種命名規則も明確にしていこうと思っています。

CS-Cart 標準のカード決済

mmochiです。

CS-Cartの古いものはカード情報をDBに格納することも出来たのですが、現行バージョン(V3以降)ではカード情報は保持しなくなりました。

POSTされた値をシステム側で受け取った時にマスク処理してしまいます。(数字を*で置き換えます)
カード番号、CVV、有効期限にマスクがかかります。

また、V2まではカード情報を保持できたため、保持したカード番号に対してカード会社を判定することもできていましたが、これもまた当然ですができなくなっています。

つまり、「標準のカード決済」を利用していて、カートで顧客にカード情報を入力していただき、受注情報のなかでカード情報を確認した後にオーソリ処理を行うといった運用はできなくなっているということです。
(カード情報を別の仕組みに再入力するということですね)

ですが、極稀に上記の運用をしたいというクライアントもあります。
そんな時にはマスク処理をスキップし、カード情報によってカード会社を判定するということが必要になります。
この場合はSSL必須で、カード情報をサーバーに保持することのリスクを理解の上、カスタマイズのご用命をください。(おすすめはしません。可能な限り避けたい運用です。)

CS-Cart V4系 通知ウィンドウについて

mmochiです。

V4系の通知ウィンドウについて記述します。

※通知ウィンドウとは?

標準では表示されてから5秒で消えるように設定されています。
これを自動で消えないようにすることが出来ます。(手動で消す事ができるのはそのまま。)

V4系においては少し注意する必要があります。

ショップインショップ(複数ショップ機能)を利用している場合、「単一のショップとして運用している場合と挙動が異なる(ように見える)」ことに注意が必要です。

◇単一ショップとして運用、もしくは「すべてのショップ」として管理画面を閲覧している場合、

管理画面>基本設定>表示設定

の一番下に「通知ウィンドウの表示時間 (自動で非表示にしない場合は0を入力):」という項目があります。
ここを「0」と設定すると自動で消えないようになります。(括弧書きで書いてあるとおりですが。。)

◇注意すべきは、複数のショップを登録してあり、そのうちのひとつのショップとして管理画面を閲覧している場合です。

このときは上述の設定項目は表示されません。
ショップ全体の管理権限がある場合にのみ設定が可能だということになります。

これはつまり、「複数ショップの個々のショップで異なる設定にすることは出来ない」ということと同義です。

スクリーンショット 2015-01-26 13.51.43

CS-Cart V4.2.4の言語設定について

mmochiです。

最新の「CS-Cart日本語版 V4.2.4-jp-1」の言語設定について記述します。

V4.0.x からの変更で言語をPOファイルで管理するようになりました。
ただし、管理画面から任意で言語ファイルのみを更新できるようになるのはV4.1.xからとなります。

一般設定 -> 言語 -> 言語の管理 -> 任意の言語の「歯車アイコン」 から、
「POファイルを利用して更新」
を選択し、編集した日本語版アドオンのPOファイルを読み込ませれば更新できます。

このPOファイルはV4.2.xからは「コアに対応するもの」「エディションに対応するもの」「アドオンに対応するもの」と種類が増えています。(V4.2.xより前のものでは言語ごとにひとつのPOファイルのみでした。)
つまり、アドオンの構成も変わったことを意味しています。

V4.2.4

スクリーンショット 2015-01-18 21.19.10

V4.1.5
スクリーンショット 2015-01-18 21.15.50

V4.0.3

スクリーンショット 2015-01-18 21.12.40

 

言語ファイルは下記のような構成になっていますのでCS-Cartの構造を理解していないとイチから作るのは難しいかもしれません。(下記は日本語版アドオンのPOファイルの一部です)

msgid “”
msgstr “”
“Project-Id-Version: cs-cart-latest\n”
“Content-Type: text/plain; charset=UTF-8\n”
“Language-Team: Japanese\n”
“Language: ja_JP\n”
“Plural-Forms: nplurals=1; plural=0;\n”
“X-Generator: crowdin.net\n”
“Last-Translator: cscartjp <info@cs-cart.jp>\n”
“PO-Revision-Date: 2014-07-17 04:42-0400\n”

msgctxt “Addons::name::localization_jp”
msgid “日本語版アドオン”
msgstr “日本語版アドオン”

msgctxt “Addons::description::localization_jp”
msgid “CS-Cartを日本でのECサイト運用に最適化します”
msgstr “CS-Cartを日本でのECサイト運用に最適化します”

msgctxt “SettingsSections::localization_jp::general”
msgid “General”
msgstr “基本設定”

msgctxt “SettingsOptions::localization_jp::elm_contact_information”
msgid “連絡先情報”
msgstr “連絡先情報”

アドオン開発する場合にはこれまでどおりのaddon.xmlファイルにnameタグで記述しても機能しますが、後方互換として残されているだけだと思われるので新しいルールに則って作ったほうが良いでしょう。

<item id=”elm_contact_information”>
<name>連絡先情報</name>
<type>header</type>
</item>

addon.xmlファイルに関して、これまでこのように記述していたものは下記のようになります。

<item id=”elm_contact_information”>
<type>header</type>
</item>

言語ファイルに関しては下記のようになります。

msgctxt “SettingsOptions::localization_jp::elm_contact_information”
msgid “連絡先情報”
msgstr “連絡先情報”

 

【CS-Cart v4】ページのレイアウト変更方法

こんにちは!すんです。

CS-Cart覚え書き第2段。です。

今回は、追加したページのレイアウト変更方法についてです。

サイトを作り込んでいく中で、
よし!!ページを追加して作り込んでいこう!!
という段階(初期中の初期)で躓きかけた部分を紹介したいと思います。

まず、ページの追加について
管理画面上部の「ウェブサイト」の中の「コンテンツ」をクリック。
コンテンツの文字の左側にある「+」をクリックし、「ページを追加」をクリックします。
image

ページタイトル等を記入し登録をすると、ページが追加されます。
image1

そしてここからが本題!!です!

実際に追加したページをブラウザで見てみると、
image0

2カラムのページ。
んー。フルワイドのページにしたいなー。左サイドの項目、いらないなー。

よし。ページのレイアウトを変更しよう。

先ほどページを追加した画面から、「ページの編集」→「ブロック」をクリック。

グリットの幅を変更しよう。
image2

グリッドにマウスカーソルを重ねると出てくる歯車マークをクリック!
image3

よし、ここから変更を…お?
image4

…ない。グリッドの幅を変えられる「横幅」の入力項目が…。

(-_-)

そうなんです。「ページの編集」→「ブロック」からは、
各ページごとブロックの内容の変更は行えますが
レイアウトの変更は別の場所で行う必要があるんです。

まず、管理画面上部の「デザイン」→「レイアウト」へ。
image5

レイアウト画面を見てみると、
「デフォルト」「トップページ」「会員登録完了」「カテゴリー」
「カート」「購入手続き」「会員登録」のタブはありますが、

「ページ」のレイアウトタブは見当たりません。

…お?操作?ここか?
image6

BINGO。
image7

はい。びんごでした。
ここからページのレイアウト変更を行うことが出来ます。
image8

まず「メインコンテンツ」のグリッドの横幅を16に変更してみます。

横幅は、1〜16の数値を選択出来るようになっています。
最大値である16に設定すると、グリッドを全幅に設定することが出来ます。

次に、フルワイドのレイアウトにする為には不必要な、
左にあるデフォルトのコンテンツを無効化しちゃいましょう。
(ブロックについてる歯車の隣の電源マークをクリックすると、有効化/無効化の変更ができますよ!)

ちなみに、今回はブロックを1つずつ無効化しましたが
グリッドの有効化/無効化も変更することができるので、
グリッドの中のブロック全てを有効化/無効化する時はそっちのほうがいいかもしれません。

image9

で、レイアウト変更後のページプレビューがこちら。
image10

左にあったコンテンツも無効化され、表示されなくなりました!

どこでどの設定の変更が出来るのか、
ここではこれができなくて、あれならできる。

なかなか覚えるまでは大変な部分もあるかと思いますが、
覚えてしまえば、こっちのもんです。よね!!きっと!!!

グリッドの横幅、1〜16の数値をうまく使い
HTMLブロックをグリットにちりばめて置いていけば、
かなり凝ったデザインの、オリジナリティあふれる
イケてるサイトを作ることだってできちゃいます。

ちなみにあんどぷらすのコーポレートサイト。
https://www.andplus.co.jp/
このサイトもCS-Cartで作られているんですよ!!!

どうでしたか皆さん!!第2段!!

「おいおいめちゃくちゃ初歩的な部分じゃないか大丈夫かよ」

と先輩方の声がどこからか聞こえてくるような気もしますが、

…上級者への道、まだまだ遠し。

【CS-Cart v4】サイトタイトル、メタ情報変更方法

こんにちは!すんです。
「CS-Cart覚え書き」、あんど+Blog初投稿です。

このカテゴリに関しては、
CS-Cart初心者である私がつまづいた部分、壁にぶち当たった部分、
「え、こんな機能あるの?」「CS-Cart…すげえ」と感じた部分などなど

どんどん書き留めていきたいと思っております。

また、
「ここ、別のやり方でもっと簡単な方法あるよ!」
「すん。まだまだCS-Cartについて全然わかってないなお前」
「おいおいここ間違ってるぞしっかりしろよ」
「がんばれ!」「負けるな!」

などご意見ご感想、叱咤激励等ありましたら、
ぜひ!!コメントを下さい先輩方!!!
宜しくお願いします!

ということで、初回である今回は
CS-Cartサイトタイトル、METAタグ(説明文・キーワード)の変更方法について書いていきたいと思います。

私が一番最初にぶち当たった壁です。
「え、サイトタイトル変わんない…」
「ここ?」「違った…」「どこだ一体どこで変更出来るんだ!!」
と、小一時間振り回されました。

先輩方にしてみたら「いやいや、わかるっしょ余裕っしょ」
と思われるようなことかもしれませんが、

そこのCS-Cart使いたてほやほやのあなたに!!!
少しでもお役に立てば幸いです。

まず、私が最初に勘違いした部分。
CS-Cart管理画面の左上!デフォルトの状態だと、「CS-Cart.jp」となっている部分。
スクリーンショット1

ここをクリックすると、ショップの設定変更ができます。
「ここでしょ。ここしかないでしょ。」と

スクリーンショット2

ショップ名を変更してみましたが、サイトには反映されず…
スクリーンショット3

ただ、ここを変更すると管理画面の左上「CS-Cart.jp」とかかれていた部分は
「あんどぷらすショップ」に変更されました!

じゃあ、サイトのページタイトルはどこで設定出来るのか。
管理画面の基本設定、一般設定、それっぽいところを
すべて「あんどぷらすショップ」に変更してみても、サイトのページタイトルには
反映されず…

「もういいや…最初にサイトのレイアウト部分いじろう…」
となげやりになっていたそんな時。

管理画面の上部メニュー「デザイン」→「レイアウト」→「トップページ」
を見ていたら

…ん?
スクリーンショット4

…なんだこの歯車みたいなの
スクリーンショット5

…!!!
スクリーンショット6

…こ、ここだ

そうです。ここでした。ここのページタイトルを変更したら、
無事にサイトの方にも反映され、

ついでにMETAタグの変更もできちゃいました。

ただこの歯車。トップページ部分だけではなくデフォルト部分やその他のページ
(商品・カテゴリ・カートなど)にもついていました。

ですがサイトタイトルを変更するにはデフォルトを変更しただけでは変わらず。
やはりトップページ部分の歯車から変更を行わないといけないみたいです。

と、こういった感じでどんどん更新していきたいと思いますので!
「CS-Cart覚え書き」、私のCS-Cart上級者への道を、応援していただけたら嬉しいです。