Magento

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

4
libファイルを書き換える最新の方法
この問題はよく知られています。libクラスはオートローダーを介して排他的にロードされ、次のもの以外は変更できません。 libより前にチェックされるcodePoolにそれらを完全にコピーします。 PSR-0オートローダーをインストールし、オートロードクラスマップを指定し、代わりにファイルをそのフォルダー構造に完全にコピーします。[私の現在の解決策] これらのファイルの多くに潜在的に触れたいので、私は困難な状況にあります-しかし、ストアの健全性と安定性/アップグレード性のために、ライブラリクラス全体をコピーしたくありません。 現在、明らかにこの問題には潜在的な解決策がありますが、それらにはすべて独自の問題があります: 行くAOPのルートをとのようなPHPベースのライブラリを使用してゴー!AOP:最後に確認したのは、Magentoクラスが1つだけではなく、コンポーザーオートローダーによってロードされる必要があることです。Flyingmanaはこの分野でいくつかの作業を行いましたが、本番環境で使用する準備ができていないことは間違いなく、私のニーズはより迅速です。また、拡張機能として出荷したいのですが、これにはより多くの作曲家の設定が必要になります。 AOPルートに進み、ネイティブPHP拡張機能を使用します。おそらく現時点で最も有利ですが、HHVMで動作しないことは言うまでもなく、別の拡張機能をインストールする必要があります。 PHPのクラスキットおよび/またはrunkitを使用します。これは別のネイティブPHP拡張であるため、上記と同じ問題があります。 コールサイトにパッチを適用して、独自の名前空間(\Danslo\Varien_X)バージョンを使用し、元の()バージョンから拡張し\Varien_Xます。パッチを当てるコールサイトが多すぎます。オプションではありません。 自分で転がす:できること: 独自のオートローダーを作成します。 元のクラスを別のフォルダー({root_dir}/var/tmp)にコピーし、ラップしnamespace \Magento { < original contents > }ます。 そのファイルを含めます。 変更したクラスを含める OriginalClass extends Magento\OriginalClass {} これの欠点は明らかです。動的コード生成、正規表現、書き換えられたクラスをロードするための少しのオーバーヘッド。しかし、この時点で、〜100行をタッチ/追加したいだけで、〜5000行のコードをコピーするのに勝ると確信しています。 私は多くを求めていることを知っていますが、この問題を解決するのに役立つ現代的で比較的きれいなものがありますか?
21 overrides  core 

2
Magentoの新しい請求書の増分ID 5ずつ増分しますか?
新しい請求書IDをそれぞれ5ずつ増やす必要があります。以下のコードを試しました。 しかし、すべての請求書、出荷、注文、クレジットメモを変更しました。 新しい請求書IDを5ずつ増やし、出荷を5ずつ増やし、クレジットメモを3ずつ増やす必要があります。 また、受注は1(通常)ずつ増加します。 これどうやってするの 。? 誰でも助けてくれます。 class Mage_Eav_Model_Entity_Increment_Numeric extends Mage_Eav_Model_Entity_Increment_Abstract { public function getNextId() { $last = $this->getLastId(); if (strpos($last, $this->getPrefix()) === 0) { $last = (int)substr($last, strlen($this->getPrefix())); } else { $last = (int)$last; } $next = $last + 5; return $this->format($next); } }



2
addAttributeToFilter()とaddFieldToFilter()の違いは何ですか?
addAttributeToFilter()関数とaddFieldToFilter()関数の違いは少し混乱しています。magentoでコアファイルを確認しました。しかし、私は明確なアイデアを理解できませんでした。magentoのコレクションの一部ではaddAttributeToFilter()を使用しており、一部ではaddFieldToFilter()を使用しているためです。これについての明確化は大きな助けになるでしょう。前もって感謝します。

2
請求書の印刷中にエラーが発生しました
XAMPP用のBitNami Magentoインストールを使用して、Windows 7に標準のMagento 1.8.0.0をインストールしました。 [ 販売]-> [請求書 ]画面を開いて請求書をクリックし、画面の右上隅にあるオレンジ色の[印刷]ボタンをクリックすると、Webブラウザー内に次のエラーメッセージが表示されます。 致命的なエラー:Zend_Pdf_FileParserDataSource_File :: __ construct()の宣言は、41行目のC:\ xampp \ apps \ magento \ htdocs \ lib \ Zend \ Pdf \ FileParserDataSource \ File.phpのZend_Pdf_FileParserDataSource :: __ construct()と互換性がある必要があります 誰が私がこれを取得しているのか、これを修正する方法を知っていますか?

2
ページネーションをネイティブに使用してMagentoコレクションを反復処理することは可能ですか?
それが私が意味することは-行う方法があります: $collection = $model->getCollection(); foreach ($collection as $item) { $item->doStuff(); } コレクションに10万行ある場合でも、MySQLから一度に1ページの行だけをロードし、裏で魔法のようにページ分割します。 Varien_Data_Collection_Db::load()それを見ることは可能だとは思えないが、ただ確認したかった。これは、一般的に必要なもののように思えます。


2
無料配送が有効な場合、送料合計が販売見積品目のrow_weightを0に設定するのはなぜですか?
序文:これは、コミュニティ(および私)に対するMagentoのアーキテクチャの文書による観察と、実際の質問の両方の役割を果たすことを目的としています。大幅に変更されたカートとチェックアウトエクスペリエンスで作業していますが、この問題の原因はMagentoのコアロジック内にあります。 バックグラウンド 標準のショッピングカート価格ルール機能を使用して、送料無料クーポンを作成しました。クーポンには条件はなく、唯一のアクションFree Shippingはに設定されていFor matching items onlyます。条件がないため、これはすべての販売見積品目に対してに設定free_shippingさ1れます。 通常どおり、送料無料配送方法も有効にしています。Freeshippingリクエストが送料無料や小計マッチを持っているか、しきい値を超えたときにキャリアモデルは、速度を提供します(しかし、我々は、しきい値オプションを使用していません)。参照Mage_Shipping_Model_Carrier_Freeshipping::collectRates: $this->_updateFreeMethodQuote($request); if (($request->getFreeShipping()) // <-- This is the condition we're relying on || ($request->getBaseSubtotalInclTax() >= $this->getConfigData('free_shipping_subtotal')) ) { /* Snip: Add $0.00 method to the result */ } そしてMage_Shipping_Model_Carrier_Freeshipping::_updateFreeMethodQuote、このようになります: protected function _updateFreeMethodQuote($request) { $freeShipping = false; $items = $request->getAllItems(); $c = count($items); …


3
Magentoの構成アイテムにWYSIWYG機能を追加する方法
特定のカスタムモジュールの場合、WYSIWYGエディターを使用するには構成アイテムが必要です。現時点では、システムxmlで「textarea」を使用して通常のテキストエリアを取得しています。 私の推測では、この機能を追加するにはtextareaに基づいて余分な「frontend_type」を追加する必要がありますが、他の/より良いオプションがあるかどうか疑問に思っています

6
単純な製品価格を上書きするMagentoの構成可能な製品価格
私が知っている限りでは、同じようにセットアップされた製品があり、それらはすべてユニバーサルCSVテンプレートでインポートされました。 設定可能な価格は29.99です 関連するシンプル製品半袖は29.99です 関連するシンプル製品の長袖は39.99です 請求書は、29.99の構成可能な製品価格で39.99の価格を持つ長袖製品(ZTWS-SBLS-XL)に最近請求しました。設定可能な製品価格を単純な製品価格で上書きするにはどうすればよいですか?以下の両方の製品は、親の構成可能な製品と同じように、単純な製品として設定されています。 請求書: Item Sku Qty Subtotal Item one ZLOB-SBLS-XL 1 $39.99 Item Two ZTWS-SBLS-XL 1 $29.99 編集:まだこれを解決するために取り組んでいます。Magentoが、構成可能な製品価格または関連する製品属性価格よりも単純な製品価格を好む原因は何ですか?

4
Webサイトスコープの構成値を取得する
特定のWebサイトの構成値を取得するにはどうすればよいですか? ありますMage::getStoreConfig()が、はありませんMage::getWebsiteConfig()。 編集: 私はウェブサイトレベルで構成データをエクスポートしています-どういうわけか私はウェブサイトのスコープ設定が欲しい...

3
Mage :: logは画面に書き込みます
開発システムがあり、display_errorsがオンで、Magentoが開発者モードであるため、 Mage::log($layered_navigation_filter_block); // Mage_Catalog_Block_Layer_Filter_Attribute そして、すべてがログファイルの代わりに画面に書き込まれました、なぜですか? この場合のように見えます: // app/Mage.php:837 if (is_array($message) || is_object($message)) { $message = print_r($message, true); } ただし、print_rの2番目の引数は無視されます。 Mage_Catalog_Block_Layer_Filter_Category Object ( [_filter:protected] => ... [28-Jan-2013 22:48:43 UTC] PHP Fatal error: Allowed memory size of 268435456 bytes exhausted (tried to allocate 241434624 bytes) in /var/www/app/code/local/MyCompany/Motif/Model/Observer.php on line 47 [28-Jan-2013 22:48:43 …
21 debugging 

6
Amazon S3のMagentoメディアアセット
Amazon S3にすべてのmagentoメディア資産を保存する方法を尋ねられました。https://github.com/punkave/aS3StreamWrapperのようなPHPストリームラッパーの使用を検討し、メディアフォルダーをs3:\ mybucket \ mediaFolderに設定しました 誰もこれを経験していますか? または、次のようなものを使用することをお勧めします:https : //github.com/sstoiana/magento-s3 しかし、この拡張機能は見栄えがよくありません。他の推奨事項はありますか?

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