Magento

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

3
Magento 2の注文後にどのオブザーバーを使用しますか?
私はこのMagento 2拡張機能に取り組んでおり、一部の機能は、注文に関する情報をWebサービスを使用して外部アプリケーションにプッシュすることです。チェックアウトで注文した後、この情報をプッシュする必要があります。 現時点checkout_onepage_controller_success_actionでは、外部アプリで注文を作成するメソッドをトリガーするイベントを使用しています。このイベントをに配置しました/etc/frontend/events.xml。 これまでのところこれは機能していますが、注文ステータスに問題が見つかりました。注文がまだpendingステータスになっている場合と、注文がにある場合がありprocessingます。これは、支払い方法が最初に注文を保留中として初期化し、支払いが承認された後、注文が処理に変更されるためです。processing注文のみをプッシュしたい。checkout_onepage_controller_success_action支払いが承認される前にイベントが実行されることがあり、これが問題を引き起こしているようです。 これを解決する方法はありますか?コードを実行する前に支払い処理を確実に実行するにはどうすればよいcheckout_onepage_controller_success_actionですか? 私のコードに従って: events.xml <?xml version="1.0"?> <!-- /** * Copyright © 2017 companyname.com */ --> <config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Event/etc/events.xsd"> <event name="checkout_onepage_controller_success_action"> <observer name="companyname_order_success" instance="Companyname\Shipping\Observer\CreateCompanynameOrderObserver" /> </event> </config> CreateCompanynameOrderObserver.php /** * Create an order in Companyname when order status match the statuses in the backend * * @param EventObserver …

2
Magento 2は、Pub静的ファイルに対してデフォルトまたはプロダクションモードでSymlinkを使用します
状況:Magento 2の無料トライアルをいくつか実行していますが、VPSのHDスペースが限られています。このため、HDスペースを削減するために、Magentoにデフォルトまたはプロダクションモードでファイルをシンボリックリンクさせたいと考えています。サイトを最初に実行すると、デフォルトのMagento 2のインストールは約420mbであり、約770mbになるため、この350mbがコピーされたファイルであることに気付きました。 私は変更しました:app / etc / di.xml行: <item name="default" xsi:type="object">Magento\Framework\App\View\Asset\MaterializationStrategy\Copy</item> に <item name="default" xsi:type="object">Magento\Framework\App\View\Asset\MaterializationStrategy\Symlink</item> これは問題なく動作し、サイトはデフォルトモードでもシンボリックリンクを適切に作成します。ただし、問題はcssが作成されないか、js-translation.jsonが作成するはずのファイルが作成されないことです。 /pub/static/version1488209436/frontend/Magento/luma/en_US/css/styles-m.css /pub/static/version1488209436/frontend/Magento/luma/en_US/css/styles-l.css /pub/static/version1488209436/frontend/Magento/luma/en_US/css/print.css /pub/static/version1488209436/frontend/Magento/luma/en_US/js-translation.json だから問題は:デフォルトまたはプロダクションモードでシンボリックリンクを使用している場合、Magentoでこれらのファイルも生成するにはどうすればよいですか?


1
XML関連の例外をデバッグする方法は何ですか?
私はgvimでMagento 2を使用してコーディングしています。Magento2は初めてです。 私は何度もxml関連のエラーをデバッグするのに苦労しました。しかし、このような状況では私は本当に動揺します。このエラーの原因となっているファイルがどこにあるかはわからず、デバッガーもどちらもわかりません。 次のようにしてください:xmlファイルが無効です。実際には、その下にmodule.xml、routes.xml、config.xml、{layout} .xml、di.xmlまたはview / layout dirsがあるモジュールを作成しました。どのファイルの12/89 / ..行が無効ですか?生成された/マージされたもの?var / generatedに何も見つからず、コマンドラインが機能しなくなったため、迷っています。このエラーが何であるかを見つけるためのデバッグ方法は何ですか? どんな助けでもありがたいです。 致命的なエラー:キャッチされなかったMagento \ Framework \ Exception \ LocalizedException:無効なドキュメント要素 'item':タイプ定義は抽象的です。行:12要素 'item'、属性 'name':キーid-constraint 'itemName'のフィールドのXPath '@n​​ame'は、複数のメンバーを持つノードセットに評価されます。行:89要素 'item':キーアイデンティティー制約 'itemName'のすべてのフィールドがノードに評価されるわけではありません。行:89要素 'item'、属性 'name':キーID制約 'itemName'のフィールドのXPath '@n​​ame'は、複数のメンバーを持つノードセットに評価されます。行:90要素 'item':キーアイデンティティー制約 'itemName'のすべてのフィールドがノードに評価されるわけではありません。行:90 /var/www/html/lib/internal/Magento/Framework/Config/Reader/Filesystem.php:
11 magento2  php  xml  debugging 

3
製品magento2のTier価格を取得するにはどうすればよいですか?
カスタムコードでMagento 2の製品の価格を取得するにはどうすればよいですか? これは私のコードです public function getProductCollection() { $collection = $this->_productCollectionFactory->create(); $collection->addAttributeToSelect('*'); $collection->setOrder('created_at', 'DESC'); // $collection->setPageSize(3); // fetching only 3 products return $collection; } と.phtmlの私の呼び出し機能 $productCollection = $block->getProductCollection(); $productCollection->setPageSize(2); foreach ($productCollection as $product) { echo $product->getName(); print_r($product->getTierPrice()); echo getName、getPrice、getSpecial価格が機能します しかしgetTierPriceは機能していません。 例:VIPメンバーカード(customer_group)があります。ティア価格のVIPメンバーカードをすべてのグループに設定しないで公開します

2
Magento2-コマンドライン-ブロックテンプレートを使用してメールを送信-エラー:必要な引数がありません$ debugHintsPath
Magento 2でコマンドラインからメールを送信しようとすると、以下の例外が発生しました。まったく同じクラスを使用してフロントエンドまたはバックエンドのコントローラーからメールを送信している間、完全に機能していました。この問題は、コマンドラインインターフェースを使用して厳密に発生していました。 例外: main.CRITICAL:例外「BadMethodCallException」とメッセージ「Missing required argument $ debugHintsPath of Magento \ Developer \ Model \ TemplateEngine \ Plugin \ DebugHints。」/.../.../magento/vendor/magento/framework/ObjectManager/Factory/Dynamic/Developer.php:45内 この問題は、テンプレート内からレイアウトを介してブロックを呼び出そうとしたときにのみ発生していました。ブロック呼び出しが削除されるとすぐに、例外は表示されなくなりました。 テンプレートファイル: app / code / NameSpace / Module / view / frontend / email / email_notification.html {{template config_path="design/email/header_template"}} ... <!-- THIS LINE CAUSED THE EXCEPTION TO SHOW UP --> …

2
Magento 2で顧客のパスワードをすばやく変更する方法
Magento 1では、[Manage Customer]セクションの管理設定から、顧客の新しいパスワードを簡単に更新/変更できます。 Magento 2では、パスワードのリセットを電子メールのみで送信すると役立ちますが、常にそうであるとは限りません。これは簡単な質問かもしれませんが、時々それは多くの時間を節約します。 Magento 2で顧客のパスワードを変更する簡単な方法はありますか? 暗号化タイプでパスワードを直接変更できるデータベースからの方法はありますか? 助けていただければ幸いです。

2
Magento 1.9の単体テストのベストプラクティス
いくつかのカスタムモジュールを使用してMagento 1.9サイトを管理しています。一部の機能はビジネスに不可欠であり、いくつかの単体テストが緊急に必要です。例えば、単価計算機。 私は通常Symfonyで開発しており、可能であればPHPUnit(Composer付き)をどうにかして使用したいと思っています。 一部の機能は、いくつかのカスタムデータベーステーブルにインポートされたデータに基づいているため、フィクスチャを何らかの方法でロードしたいと思います。 だから私はいくつかの単体テストを書くためのベストプラクティスのアプローチを探しています。チュートリアルなどを受け付けます。どんな助けでもありがたいです。

2
管理フォームでの「ソース」と「dataScope」の意味は何ですかUiコンポーネント構成ファイル
あり、ソースとdataScopeには Magento2管理フォームUIコンポーネントの構成のノードが。それらは何を意味し、どのように使用されることになっていますか? <field name="title"> <argument name="data" xsi:type="array"> <item name="config" xsi:type="array"> <item name="dataType" xsi:type="string">text</item> <item name="label" xsi:type="string" translate="true">Page Title</item> <item name="formElement" xsi:type="string">input</item> <item name="source" xsi:type="string">page</item> <item name="sortOrder" xsi:type="number">20</item> <item name="dataScope" xsi:type="string">title</item> <item name="validation" xsi:type="array"> <item name="required-entry" xsi:type="boolean">true</item> </item> </item> </argument> </field>

1
デプロイされた本番システムでsetup:cron:runおよびupdate / cron.phpのcronjobをセットアップする理由は?
Magento 2には、cronjobとして設定する必要がある3つのコマンドがあります * * * * * <path to php binary> <magento install dir>/bin/magento cron:run | grep -v "Ran jobs by schedule" >> <magento install dir>/var/log/magento.cron.log * * * * * <path to php binary> <magento install dir>/update/cron.php >> <magento install dir>/var/log/update.cron.log * * * * * <path to php …

2
magentoの遅延なしに、製品の画像ギャラリーを即座にロードするにはどうすればよいですか?
これは私と一緒に裸の私の最初のクエシトンです:) 問題:magento 2で使用されているフォトラマギャラリーにより、ユーザーエクスペリエンスが遅くなります。製品イメージが「インスタント」でない場合、キャッシュされた静的magento 2がどれだけ速く実行されるかは問題ではありません。 https://www.ninewest.co.uk/sandals/high-heel/allclear-black-snake-print-nine-west 上記のリンク(magentoブログに表示されているストア)に移動すると、そのリンクが開いていることがわかり、読み込みアイコンが表示され、画像が読み込まれます。それは恐ろしいことです。 すぐに読み込まれるはずです。バムみたい。完了、特に全ページキャッシュとopcacheが有効になっています。 この動作を変更する方法はありますか?すぐにロードするには? ユーザーにとって、これはページで最も重要な「要素」です。そして、それは最新のものとしてロードされます。 誰もこれについて不平を言っていないのか分かりません。 これはeコマースです。重要なのは「写真」だけです。それはユーザーが気にすることです。彼らが製品ページをクリックする理由は、「画像をよりよく見るためです。個人的に私にとってそれは本当に私を悩ませます。理由もなく、私は超怒り、そして自分が狂っているかどうか自分に尋ねますか? 事前のおかげで、私はそのようなことがどうして起こり得るのか混乱しています。 私のmagento 1では、即座にロードされます。

2
magentoが関連製品の構成可能な製品の最低価格を取得する方法
ビューページでは、デフォルトでmagentoが関連製品の最低価格を表示します。 関連商品の最高価格を表示する必要があります。この動作をカスタマイズする方法は誰でも知っています。 更新: Magento \ ConfigurableProduct \ Pricing \ Price \ ConfigurablePriceResolver /** * @param \Magento\Framework\Pricing\SaleableInterface|\Magento\Catalog\Model\Product $product * @return float * @throws \Magento\Framework\Exception\LocalizedException */ public function resolvePrice(\Magento\Framework\Pricing\SaleableInterface $product) { $price = null; foreach ($this->configurable->getUsedProducts($product) as $subProduct) { $productPrice = $this->priceResolver->resolvePrice($subProduct); $price = $price ? min($price, $productPrice) : $productPrice; } if …

3
バックエンドから製品を編集中にカスタムデータベーステーブルにカスタムフィールドを保存する方法
バックエンドの製品フォームにカスタムタブを表示するカスタムモジュールを作成しました。このソリューションを使用しました。 今度はタブで、カスタムデータベーステーブルに保存するカスタムフィールドを追加しています。いう<input type="text" name="my_new_field" value="123"> また、以下のように管理製品の保存用にカスタムコントローラを作成しました。 etc / di.xml内 <?xml version="1.0"?> <config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:ObjectManager/etc/config.xsd"> <preference for="Magento\Catalog\Controller\Adminhtml\Product\Save" type="Namespace\Module\Controller\Adminhtml\Rewrite\Product\Save" /> </config> そしてController / Adminhtml / Rewrite / Product / Save.php <?php namespace Namespace\Module\Controller\Adminhtml\Rewrite\Product; class Save extends \Magento\Catalog\Controller\Adminhtml\Product\save { public function execute() { echo "hello"; print_r($_POST); die; return parent::execute(); } } 今execute関数では私はのPOST値を期待していますmy_new_field。しかし、私はそれを得ていません。それを取得した後、カスタムクエリを使用してデータをカスタムテーブルに保存します。 何が悪いのですか、または他の方法を使用する必要がありますか? …


2
magento 2で製品の日時属性を作成する
日付と時刻のカレンダーを表示する必要があり、日付と時刻のギ酸のみとしてデータベースに保存する必要がある製品の属性を作成しようとしました。これは私のスクリプトです $ eavSetup-> addAttribute(->addAttribute( \ Magento \ Catalog \ Model \ Product :: ENTITY、::ENTITY, 'xyz_start_time'、'xyz_start_time', [[ 'グループ' => 'xyz'、'group' => 'xyz', 'タイプ' => '日時'、'type' => 'datetime', 'バックエンド' => ''、'backend' => '', 'フロントエンド' => ''、'frontend' => '', 'ラベル' => '開始時間'、'label' => 'Start Time', '入力' => '日付'、'input' => 'date', 'クラス' => ''、'class' …

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