サイトカレンダをスキップ

«
2017年 10月
»
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31

-

ログイン

ログイン

QRコード

QR code


 掲示板目次 > Magento全般 > インストール不具合 新規投稿 返信投稿
 PepMaq Japan Package14のPepMaq_Japan_Furiganaの不具合
 
HissyNC
 2011年8月20日 09:08 JST (参照数 7918回)  
掲示板 Newbie
Newbie
musical

状態: オフライン


登録日: 2011年2月19日
投稿数: 8
はじめまして、最近Magentoを触り始めました。

1.5.1.0をインストールし、PepMaq Japan Package14をMagento Connectからインストールしたのですが、フリガナの保存ができません。

この現象に対してDBを直接操作して保存できるようにする、という記事があったのですが、そもそもどこが原因で保存できないのでしょうか…?mysql4-install-0.1.0.php?
原因が分かればパッケージを修正するのが一番早いような気がしまして。
ご存じの方がいらっしゃいましたら、ご教示いただければ幸いです。

ちなみに、DBのeav_attributeテーブルにはfirstnamekanaが、eav_entry_attuributeテーブルには該当のattribute_idが追加されています。記事のとおりですね。

 
プロフィール メール
引用して書き込む
hirokazu_nishi
 2011年8月20日 16:57 JST  
掲示板 管理者
管理者

状態: オフライン


登録日: 2008年2月 9日
投稿数: 470
customer_form_attribute
customer_eav_attribute_website

この2つのテーブルにデータが追加されないのが原因です。
インストール時に本来であればこの2つのテーブルにINSERTがかからないといけないのですが、Magento-CE-1.4.2以降の変更がまだ反映されていないっぽいので、SQLを手動で叩くしかないのが現状です。

で、どうやるかというのは・・・。

PepMaq/Japan/Furigana/furigana_setup/sql に mysql4-data-upgrade-0.1.2-0.1.3.phpというファイルを作成し、以下の内容を書き込みます。

PHP Formatted Code
<?php
$installer = $this;

$eavConfig = Mage::getSingleton('eav/config');
$websites  = Mage::app()->getWebsites(false);

$scopes = array('customer', 'customer_address');
$attributes = array('firstnamekana', 'lastnamekana');

foreach ($websites as $website) {
    $store = $website->getDefaultStore();
    if (!$store) {
        continue;
    }
    foreach($scopes as $scope) {
        foreach($attributes as $attribute) {
                $_attribute = $eavConfig->getAttribute($scope, $attribute);
                $_attribute->setData('used_in_forms',
                       array(
                                'checkout_register',
                                'customer_account_edit',
                                'customer_account_create',
                                'adminhtml_customer'
                                ));
                $_attribute->setWebsite($website);
                $_attribute->save();
         }
    }
   
}
$installer->endSetup();


続いて、config.xmlのエクステンションバージョンを0.1.2から0.1.3に変更し、Magentoのキャッシュを削除してからどのページでもいいのでリロードします。
そうするとインストーラがアップデートスクリプトを勝手に走らせるので上手くデータが入ると思います。

Magento技術サポート・日本語化エクステンション・セキュリティ診断提供中です。日本語ガイドブックの販売・レンタルサーバサービス開始しました。 http://principle-works.jp/
 
プロフィール メール ホームページ
引用して書き込む
HissyNC
 2011年8月22日 13:15 JST  
掲示板 Newbie
Newbie

状態: オフライン


登録日: 2011年2月19日
投稿数: 8
ありがとうございます。
ローカル(MAMP)上のテストサイトでアップグレードスクリプトを設置してconfig.xmlを書き換えたところ、無事フリガナが保存できるようになりました。

 
プロフィール メール
引用して書き込む
内容生成: 2.92 秒
新規投稿 返信投稿


通常 通常
注目トピック 注目トピック
ロック済 ロック済
新着 新着
注目トピック 新着 注目トピック 新着
ロック済トピック 新着 ロック済トピック 新着
ゲストユーザの投稿を見る 
ゲストユーザ投稿可能 
HTML許可 
バッドワードをチェック