Magento

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

2
ショッピングカートルールの作成方法-50ドル以上使うと、特定のアイテムが無料になります
50ドル以上使うとアイテムが無料になるショッピングカートルールを作成するにはどうすればよいですか。拡張機能をダウンロードしたくありません。50ドル以上購入した場合に、特定のアイテムを無料にする方法を知っている必要があります。 実際の「無料」アイテムの値は$ 50を超えており、ショッピングカート内のアイテムが$ 5だとすると、顧客が実際に消費していなくても、合計が$ 50を超えているため、ルールを実行できます。 50ドル。
7 cart  coupon  shopping 

3
注文が既存の顧客からのものか、新しい顧客からのものかを知る方法は?
私は次のコードを持っています: $lastOrderId = Mage::getSingleton('checkout/session') ->getLastRealOrderId(); $orderId = Mage::getModel('sales/order') ->loadByIncrementId($lastOrderId) ->getEntityId(); $order = Mage::getModel('sales/order')->load($orderId); echo $order; $udo = array(); $udo['CID'] = '123'; $udo['TYPE'] = '123'; しかし、注文が既存の顧客からのものか、新しい顧客からのものである場合は、TYPEに別の値を割り当てる必要があります。 どんな考え>?
7 php 

1
1.9.0.1 CEはプログラムで承認してからキャプチャする
承認して、いくつかのサードパーティAPI呼び出しを行う必要があります。それらの呼び出しから何が返されるかに基づいて、承認を取得またはキャンセルします。 現在、authorize.netのみを使用していますが、できるだけ多くの支払いゲートウェイでこれを使用できるようにしたいと考えています。authorize.netをAuthorize Onlyに設定しました。私のオブザーバーはsales_order_payment_place_endイベントを実行します。 これが私のオブザーバーでやっていることです(まだ抽象化されていませんが、まだ概念実証が必要です)。 if(/*API calls return ok*/) { $observer->getPayment()->getMethod_instance()->capture($observer->getPayment(),$observer->getPayment()->getAmount()); } else { Mage::dispatchEvent('Mainstreethost_MicrosOrder_Failure'); $observer->getPayment()->getMethod_instance()->cancel($observer->getPayment()); } capture()を呼び出すと、支払いが事前承認されたかどうかが確認されます。これは、私たちが達成しようとしていることです。 public function capture(Varien_Object $payment, $amount) { if ($amount <= 0) { Mage::throwException(Mage::helper('paygate')->__('Invalid amount for capture.')); } $this->_initCardsStorage($payment); if ($this->_isPreauthorizeCapture($payment)) { $this->_preauthorizeCapture($payment, $amount); } else if ($this->isPartialAuthorization($payment)) { $this->_partialAuthorization($payment, $amount, self::REQUEST_TYPE_AUTH_CAPTURE); } else { …

3
データベースのインポート中のMySQLエラー
Magentoをアップグレードしたい。そのため、最初にライブの本番システムを開発ワークスペースに転送したいと思います。本番データベースをクリーンなデータベースにインポートしようとしています。しかし、正しくインポートできません。私はいくつかのオプションを試しました:http://www.magentocommerce.com/wiki/1_-_installation_and_configuration/restoring_a_backup_of_a_magento_databaseに示されているステートメントを含む(および除外する)異なる設定でphpMyAdminを介してエクスポートするMagento管理を介してエクスポートする Magento 1.5.1.0、phpMyAdmin 4.0.8、および最新バージョンのBigDumpを使用してインポートしています。 これは私がしばらくして受け取るエラーです: 行8699のエラー:UPDATE CASCADEのDELETE CASCADEにCONSTRAINT FK_CATALOG_CATEGORY_ENTITY_DATETIME_STOREFOREIGN KEY(store_id)REFERENCES mage_core_store(store_id)を追加してください。クエリ:ALTER TABLE mage_catalog_category_entity_datetime ADD CONSTRAINT FK_CATALOG_CATEGORY_ENTITY_DATETIME_ATTRIBUTEFOREIGN KEY(attribute_id)REFERENCES mage_eav_attribute(attribute_id)ON DELETE CASCADE ON UPDATE CASCADE、ADD CONSTRAINT FK_CATALOG_CATEGORY_ENTITY_DATETIME_ENTITYFOREIGN KEY(entity_id)REFERENCES mage_catalog_category_entity(entity_id)ON DELETE CASCADE ON UPDATE CASCADE、ADD CONSTRAINT FK_CATALOG_CATEGORY_ENTITY_DATETIME_STOREFOREIGN KEY(store_id)REFERENCES mage_core_store(ADE store_idON DELETE ONCA CASCADE MySQL:子行を追加または更新できません:外部キー制約が失敗しました(goldenm101_mage4。#sql-182e_c1d79、CONSTRAINT FK_CATALOG_CATEGORY_ENTITY_DATETIME_STOREFOREIGN KEY(store_id)REFERENCES mage_core_store(store_id)ON DELETE CASCADE ON UPDATE CASC) ' …

1
デバッグ:申し訳ありませんが、現在この注文の見積もりはありません
私は恐怖を感じています 現在、この注文の見積もりはありません One Page CheckoutのShippingセクションにあるエラーメッセージ。唯一の配送業者はFedExです。Magentoが配送ステップをレンダリングする方法、およびAPIリクエストのレートを開始する方法について詳しく説明せずに、この種の問題をデバッグするための既知の科学はありますか? つまり、これらの問題をデバッグするためのUIにはどのようなツールが存在しますか。存在しない場合、一時的なデバッグツールを追加するのに最適なクラスは何ですか。

5
プログラムでカートに商品を追加すると、空の価格が返される
次のコード行を使用してプログラムでカートに商品を追加しようとしていますが、機能して正常に商品を追加しているようですが、何らかの理由で、新しく追加した商品の価格が常にゼロに設定されています。これを防止して、カートに設定する商品の実際の価格は? <?php error_reporting(E_ALL); ini_set('display_errors', 1); require_once("app/Mage.php"); umask(0); Mage::app('default'); function mres($value) { $search = array("\\", "\x00", "\n", "\r", "'", '"', "\x1a"); $replace = array("\\\\","\\0","\\n", "\\r", "\'", '\"', "\\Z"); return str_replace($search, $replace, $value); } echo "testing"; print_r($_POST); $fname = mres( $_POST['fname'] ); $lname = mres( $_POST['lname'] ); $email = mres( $_POST['email'] ); …

2
一部のコアモジュールのヘルパーエイリアスはどこに定義されていますか?
これは私を少し混乱させます。なんで気付かなかったのかしら。Mage_Salesコアモジュールのヘルパー定義を探したとき、驚いたことに、そこでヘルパー定義を見つけることができませんでした。これは私をとても混乱させます。したがって、私はこのコードを試しました print_r(get_class(Mage::helper('sales'))); そしてそれは私にこの結果を与えました Mage_Sales_Helper_Data 次に、のsalesエイリアスMage_Sales_Helper_Dataはmagentoで定義されています。つまり、このコードスニペットはどこにあるのでしょうか。 <global> <helpers> <sales> <class>Mage_Sales_Helper</class> </sales> </helpers> </global> Mage_Salesのetcモジュールで使用可能なすべてのxmlファイルも確認しました。それらのどれもヘルパー定義を保持していません。つまり、magento salesがヘルパークラスにエイリアスを割り当てる方法ですMage_Sales_Helper_Data。 あなたの貴重な考えを教えてください


3
オブザーバー内でLast OrderIdを取得する方法
請求書と出荷を自動的に作成できるように注文の最後の注文IDを取得しようとしていますが、アクションを実行するための正しいorderIdをロードできないようです... これがorderId Observer.phpをロードしようとする方法です $order = Mage::getModel('sales/order')->load($orderid); $orderIncrementId = $order->getIncrementId(); orderIdが存在しない場合は例外をスローします $order = Mage::getModel('sales/order') ->loadByIncrementId($orderIncrementId); if (!$order->getId()) { Mage::throwException("Order does not exist, for the Shipment process to complete"); } 問題は、静的なorderIdを渡しても例外がスローされないことです。 $orderIncrementId = '1100000023-4'; しかし、モデルを介してロードしようとすると、できません 誰かが注文のorderIdを取得する方法を教えてもらえますか?

1
支払われた注文のための正しいマジェントオブザーバー
注文の支払いが完了し、ステータスが「処理中」に設定された後にのみ、第三者に注文を送信しようとしています。これをすべての支払いタイプで機能するように設定するために使用する最良のオブザーバーは何ですか? いくつかのソースを読んだ後、それは次のようになります: sales_order_invoice_pay すべての支払い方法で機能するはずですが、Magento 1.9では削除されたようです:http : //rabee.me/codes/magento/cheatsheet/1.9/ 他のオプションは: 'sales_order_payment_pay' しかし、支払い方法を「小切手/為替」に設定してテストすると、[注文]> [請求書]> [請求書の送信]を使用してバックエンドで請求書を生成した後、発行されません。 このメソッドは他の支払い方法でのみ呼び出されますか?(paypal / authotize.net) 更新: 読んだ後:この他の質問は 、支払い(オンラインまたはオフライン)が行われた後に注文を確実にエクスポートする唯一の方法のようですが、請求書が作成されたときにそれをキャプチャすることです。 : sales_order_invoice_register 請求書は、オンライン方法paypal / authotize.netでの支払い後に自動的に作成および送信されますか?サンドボックス/テストモードでそれらを使用する場合、これはまだ当てはまりますか? 手伝ってくれてどうもありがとう

1
SOLRを使用したEEで製品を作成日でソート
製品コレクションを作成日でソートする必要があります。これは、製品エンティティテーブルの静的属性です。SOLRは、eav属性で索引付けおよびソートできます。1つのオプションは、製品の保存イベントで新しい属性とコピー日付を作成することです。他の提案はありますか?カスタムデータをSOLRインデックスに追加する最良の方法は何ですか?

2
コードでEEバージョンまたはCEかどうかを確認する
EEとCEの間で賢明な違いのあるコードを作成するクリーンな方法はありますか? 問題。 拡張機能を更新しているので、ce-1.9でも問題なく動作します。 拡張機能はEE向けではありませんが、それでも動作するように縫い合わせています。 更新のために、CE-1.9(またはEE 1.14)にインストールされている場合にのみ実行されるアップグレードスクリプトを作成する必要があります。 簡単に確認できない version_compare(Mage::getVersion, '1.9', '>='); これはEE 1.9以降でトリガーされますが、私はそれを望まないからです。 今私はこれを使っています: $isEE = Mage::helper('core')->isModuleEnabled('Enterprise_Enterprise'); しかし、それは一種の醜い継ぎ目です。 チェックする他の方法は?

1
「エラー」スキンアップデートのパッケージ化
errorsフォルダのテーマをパッケージ化する正しい方法は何ですか? つまり、Magentoは503ページとStore Exception 404ページを次のフォルダーから提供します。 errors/* errorsフォルダは、ミニテーマのシステムが含まれているデフォルトのテーマに付属 errors/default/ また、local.xmlユーザーがそのテーマを変更できるシステムがあります。 errors/local.xml.sample errors名前空間フォルダーを使用してカスタムテーマを出荷できる拡張機能開発者として知っています errors/packagename_modulename しかし、とにかく私がこれをデフォルトでアクティブにすることはlocal.xmlできますか?このフォルダでファイルを作成/置換するためのコードを書くことはできませんか?
7 theme  xml 

3
お支払い方法が削除され、古い注文が読み込まれない
概要:magentoのインストールから古い支払い方法の拡張機能を削除しましたが、この支払い方法を使用して行われた注文を表示できず、例外が発生します。 具体的には、私たちの店は、私が別のベンダーから新しいバージョンにまたがるブランドにアップグレードする過程にある、古い支払い方法の拡張機能を使用しています。 古い拡張機能はひどく書かれていて完全に混乱しているので、それを取り除きたかっただけです。新しい拡張機能は同じ支払いプロバイダー用ですが、異なる$ _codeを使用しており、古い拡張機能と互換性がありません。 この支払い方法が使用されている注文をバックエンドまたは顧客アカウントページで表示しようとすると、「要求された支払い方法は利用できません」という例外が発生します。 どうすればこれを回避できますか?これらの古い注文の支払い方法は気にしません。注文がクラッシュすることなく詳細を表示できるようにしたいだけです。 注文の支払い方法コードを新しい支払い方法コードに変更することはできません。互換性がなく、さらにエラーが発生するためです。magentoのニーズを満たすことのみを目的として、古い支払い方法の$ _codeを使用する「スケルトン」支払い方法を作成することは可能ですか?これはどれほど難しいでしょうか?それとも、この問題を回避する別の方法がありますか?これには、古いレガシー拡張機能を動かし続けることは含まれていませんか?

1
リストと詳細ページで割引価格を設定し、カートに表示する
私は管理者がバックエンドから任意の製品に割引を割り当てることができるモジュールを持っています。割引はになりますpercentage。すべての製品が割引が適用されてリストされるカスタムリストページがあります。Magentoのバージョンは1.8です 例えば: Product Price = 299 Discount Percent = 20% Discounted Price = 239.20 次のことを行う必要があります。 すべての商品のリストページに通常価格の代わりに割引価格を表示します 商品詳細ページに通常価格の代わりに割引価格を表示 ユーザーがその商品を追加すると、割引価格がカート、チェックアウトなどに表示されます リストページからオブザーバーに割引率、つまり20を隠し値で渡す 以下のチュートリアルをいくつか実行しましたが、うまくいきません。 http://magentotutorial.org/programmatically-add-product-cart-price-change-magento/ /programming/22657041/get-a-value-of-a-custom-input-in-マゼント また、$item->getOriginalPrice()Magento CE 1.8では何も返されません さらに、null になるので、Quote IDを取得するために使用するイベント checkout_cart_add_product_complete または checkout_cart_product_add_after 助けてください。 ありがとう。

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