Magento

Magento eコマースプラットフォームのユーザー向けのQ&A

1
フロントエンド製品の作成でエラーが発生しましたか?
フロントエンドで商品を追加しています。 エラーメッセージが表示されます。 SQLSTATE [23000]:整合性制約違反:1452子行を追加または更新できません:外部キー制約が失敗しました(magento。catalog_product_entity、CONSTRAINT FK_CAT_PRD_ENTT_ATTR_SET_ID_EAV_ATTR_SET_ATTR_SET_IDFOREIGN KEY(attribute_set_id)REFERENCES eav_attribute_set (attribute_set_id)ON DE) public function saveVirtualNewProduct($wholedata) { $cats=array(); foreach($wholedata['category'] as $keycat){ array_push($cats,$keycat); } if($wholedata['status']==1 && isset($wholedata['wstoreids']) ){ $status=1; $stores=$wholedata['wstoreids']; } else{ $status=Mage::getStoreConfig('marketplace/marketplace_options/product_approval')? 2:1; $stores=Mage::app()->getStore()->getStoreId(); } $magentoProductModel = Mage::getModel('catalog/product'); $magentoProductModel->setData($wholedata); $saved=$magentoProductModel->save(); $lastInserId = $saved->getId(); /* Update Special from-to Date */ if($wholedata['special_from_date'] && $wholedata['special_to_date']) { //Mage::app()->setCurrentStore(Mage_Core_Model_App::ADMIN_STORE_ID); …

2
値を持つ製品属性を追加し、1つの値をデフォルトとしてマークする
インストーラスクリプトから製品属性を追加する方法を知っていますが、Magentoにデフォルト値としていずれかの値を使用するように指示するにはどうすればよいですか?(複数選択属性の場合は、より多くの値)。 このコードをインストーラースクリプトで使用して、オプション付きの属性を追加します。 $installer->addAttribute('catalog_product', "some_code_here", array( 'type' => 'int', //or varchar if it's multiselect 'input' => 'select', //or multiselect 'label' => 'Attribute label here', 'sort_order' => 1000, 'required' => false, 'global' => Mage_Catalog_Model_Resource_Eav_Attribute::SCOPE_STORE, 'backend' => 'eav/entity_attribute_backend_array', 'option' => array ( 'values' => array( 0 => 'Value 1', 1 => 'Value 2', …

3
ステージング/開発サイトのベストプラクティス
私はmagentoを初めて使用し、最初のサイトで作業してきました。これで、稼働する準備が整いました。一度ライブに移行すると、ステージングサイトや開発サイトも構築して、今後はライブサイトに新しい変更を加える前にそれを解決できるようにするようアドバイスされています。 これを設定するためのベストプラクティスは何ですか?私のWebホスティングでは、既存のドメインのサブディレクトリ内にセットアップすることを提案できると述べていますが、これはファイルとデータベースのコピーになるため(必要なディスク容量が2倍になります)、手動で移動してコピーする必要がありますファイルとデータベース情報。これが唯一の方法ですか? 記事を1つ見ましたが、設定の知識がない、または知識のないテストサイトを格納する仮想サーバーが必要でした

1
getsingleton()およびgetModel()の使用
いつ使用するかを決定するための一連のガイドラインはありますか mage::getModel() and mage::getSingleton() 私が知ることができることから、g​​etSingletonはモデル/クラスの既存のインスタンスを取得するか、存在しない場合にのみ新しいインスタンスを作成するかのようです。一方、getModel()は、既存のものに関係なく作成します。これは正しいです? これらを正しく理解しているとすれば、常にmage :: getSingleton()を使用するのは意味がありません。明らかに、そうでなければgetModel()は使用されません。それで、それぞれをいつ使うべきですか? これらを正しく使用する主な利点は何ですか?パフォーマンスを改善するか、重複を避けるのに役立つか、または一般的にベストプラクティスを適用する必要がありますか?
7 model  class 

1
統合テストを実行する前に、データベースに製品がないことを確認してください
EcomDev_PHPUnitを使用してインポート/エクスポート拡張機能のユニットテストと統合テストを行っています。一部のテストでは、データベースに製品がないことを確認する必要があります。問題は、一部のサードパーティモジュールが製品を作成しているが、後でクリーンアップしないことです。回避するための最良の方法は何ですか? 私の意見では、最もクリーンなアプローチは、データベースに製品を入れたくないことをEcomDev_PHPUnitに伝えるフィクスチャを定義することです。そんな感じ: eav: catalog_product: これはEcomDev_PHPUnitに実装されていないと思います。(それは...ですか?) 私のもう1つの推測はsetUp、製品コレクションを介して利用可能なすべての製品を削除するコードを私のメソッドに追加する必要があることです。 最もエラーが発生しやすい方法は、フィクスチャ内のすべての製品関連テーブルを定義し、EcomDev_PHPUnitでそれらを空にすることです。 自動テストの強力な神々、私にヒントを送ってください! PS:私は通常、結果を模擬し、データベースへの実際の書き込みをテストしないことを知っています。テストでは、製品がMagentoによって認識されたデータベースに書き込まれていることを確認する必要があるため、この方法で行う必要があると思います。とにかく提案を受け入れます。

3
オプションIDまたはストアビュー値がある場合、属性管理オプション値を取得します
何時間か試してみましたが、特定の属性の管理オプションの値を読み込めません。option_idやstore view valueなどの十分な情報がありますが、 $attributeId = Mage::getResourceModel('eav/entity_attribute')->getIdByCode('catalog_product','color'); $attribute = Mage::getModel('catalog/resource_eav_attribute')->load($attributeId); $attributeOptions = $attribute ->getSource()->getAllOptions(); 私の属性(名前:色)オプションテーブルは次のようになります 管理者デフォルトストアビュー 15白 20イエロー 22ブルー 45グリーン 以下は私にオプションIDのみを与えます: $colorOfProduct = "white"; $attributeId = Mage::getResourceModel('eav/entity_attribute')->getIdByCode('catalog_product','color'); $attribute = Mage::getModel('catalog/resource_eav_attribute')->load($attributeId); $attributeOptions = $attribute ->getSource()->getAllOptions(); foreach ($attributeOptions as $option) { if ($option['label'] == $colorOfProduct) echo $option['value']; } デフォルトのストアビュー値(つまり、白)があり、割り当てられた管理者値が必要です。残念ながら、私はそれを成し遂げることはできず、あらゆる助けに感謝します。

5
カタログ価格ルールは真夜中に停止します
開始日が2014年6月25日、終了日が2014年6月30日の製品グループのカタログ価格ルールがあります。このルールは、2014年6月29日の深夜に機能を停止します。これは毎週月曜日の夜まで利用可能であるはずのキャンペーンで発生します。Cronは毎分実行されています。誰もが彼らが前日に仕事をやめる理由を知っていますか?

6
構成可能な製品選択から単純な製品IDを取得します
フロントエンドに2つのドロップダウンがある構成可能な製品があるとします。 サイズ 色 ユーザーが選択した後、どうすれば最終的なシンプルな製品IDを取得できますか? 言い換えると、すべてのスーパー属性からの選択を知ったら、これを使用してシンプルな製品を取得する方法を教えてください。

1
インポート/エクスポートとデータフローの違いは何ですか
そのため、プロジェクトでMagento 1.6.2.0を使用していますが、インポート、エクスポート、およびデータフロープロファイルのオプションがあるようです。以前のバージョンでは、データフロープロファイルのようなインターフェイスを使用していました。これらの違いは何ですか?それぞれを使用する必要があるいくつかのシナリオは何ですか? 私が質問している理由は、新しい画像を使用して製品をインポートしようとしていて、まったく機能しないためです。インポート機能を使用すると、エラーメッセージなしですべて実行されます。データフローを使用して同じファイルをインポートしようとすると、画像が存在しないというエラーが発生します。また、エクスポート機能を使用してエクスポートされたデータが、データフローを使用してインポートするための適切な形式ではないため、他のエラーも発生しますプロファイル。フォーラムや他のどこにも情報が見つからないので、誰かが私に光を当ててくれるかもしれません。

7
顧客のメールを売上請求書に追加するにはどうすればよいですか?
基本的に、お客様のレシート(請求書)および発送/宅配便などに生成される注文メールに顧客のメールを追加しようとしています。 少し検索して、これを行う最善の方法は、magento管理システム領域を介してこの変数を追加することです。だから以下: System > Configuration > Customers > Customer Configuration > Address Templates これにより、テキスト、html、pdfなどのすべてのアドレステンプレートフィールドが表示されます。 そこで、変数名の必要性であると私が思うものをここの各ボックスに追加しました。 したがって、たとえばhtmlは次のようになります。 {{依存接頭辞}} {{var接頭辞}} {{/ depend}} {{var firstname}} {{depend middlename}} {{var middlename}} {{/ depend}} {{var lastname}} {{ depend suffix}} {{var suffix}} {{/ depend}} {{depend company}} {{var company}} {{/ depend}} {{if street1}} {{var street1}} {{/ if }} …

2
rwdテーマCE 1.9をカスタマイズする正しい方法
デフォルトを変更せずにいくつかのテーマファイルを編集したいのですが、design / frontend / default / defaultフォルダーのファイルがこのテーマを上書きしていません。また、フォルダーdesign / frontend / default / rwdを作成しようとしましたが、解決されませんでした。 一部のファイルのみを置き換える方法はありますか?後者の場合、テーマを複製して、管理パネルで呼び出しを変更することを考えています。

1
フォームフィールドでのURL検証
以下のスクリプトを追加して、フォームフィールドのURLを検証します。有効なURLが表示されます.magentoのデフォルトクラスvalidate-urlを使用しても、エラーは表示されません。 $url=https://www.google.co if(!preg_match("/\b(?:(?:https?|ftp):\/\/|www\.)[-a-z0-9+&@#\/%?=~_|!:,.;]*[-a-z0-9+&@#\/%=~_|]/i",$url)) { echo "invalid url"; } else { echo "valid url"; } この問題を修正する方法。

4
親カテゴリなしでサブカテゴリにアクセスする
当店には以下のカテゴリーとサブカテゴリーがあります。 Category: http://yoursite.com/category.html Sub-category: http://yoursite.com/category/sub-category.html 以下のURLを使用してサブカテゴリリストページにアクセスできますか Sub-category: http://yoursite.com/sub-category.html ケース1:メインカテゴリIDが無効になっている場合でも、サブカテゴリリストページにアクセスする ケース2:URLのメインカテゴリを使用せずにサブカテゴリリストページにアクセスする また、私の製品がいずれかに割り当てられsub-category、表示設定がに設定されているCatalog場合、そのカテゴリIDが無効になっている場合、サブカテゴリリストページに表示されますか? どうすればこれを達成できますか? ありがとう

1
異なるカスタム言語での請求書の印刷
異なる言語の複数のストアビューを持つ1つのWebサイトがあります。すべてのストアビューは同じ製品を持っていますが、ロケールに格納されている異なるフロントエンド言語を使用しています。 ドイツのストアビューから注文すると、Sales => Invoices =>(invoice#)=> PrintはドイツのPDF請求書を印刷します。また、すべてのPDF請求書を会計用に英語で印刷できるようにしたいと考えています。どうすればそれを達成できますか?

2
getData( 'name')とgetName()の違いは何ですか
私はmagento 1.8を使用しています そして、私は以下の方法を使用すると問題に直面しています $product->getData('name'); $product->getName(); それらは同じですか、それらは同じ値を返すと確信しています[answer]。使用しているときにエラーが発生する Fatal error: Call to a member function getData() on a non-object in これらの2つの関数の正確な違いを知っているかもしれません。 ありがとうございました、

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.