Magento

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

2
magento 2で顧客セッションデータを設定および取得する方法
magento 2のセッションで苦労しています。以下のコントローラーファイルをサンプルコードとして作成しました。 <?php namespace vendor_name\module_name\Controller\SetGetSession; use Magento\Framework\App\Action\Action; class SetGetSession extends Action { protected $customerSession; public function _construct( \Magento\Customer\Model\Session $customerSession ) { $this->customerSession = $customerSession; } public function execute() { } } 誰でもデータを割り当ててセッション変数から取得する方法を教えてくれますか? ありがとうございました。

7
Magento 2ブロッククラスのセッションから顧客IDを取得する
セッションからお客様IDを取得する方法は?私はこれを試しましたが、うまくいきませんでした。 protected $_customerBonusPointFactory; protected $_customerSession; public function __construct(Session $customerSession, \Magento\Framework\View\Element\Template\Context $context) { $this->_customerSession = $customerSession; parent::__construct($context); } public function _prepareLayout() { var_dump($this->_customerSession->getCustomer()->getId()); exit(); return parent::_prepareLayout(); }


6
在庫切れの商品はまだフロントエンド、検索などに表示されます-Magento 2.1.0
magento 2.1.0のインストールに問題があるようです。在庫切れの商品を検索ページとカテゴリページから非表示にすることを拒否します。キャッシュをクリアし、インデックスを再作成しましたが、うまくいきませんでした。 何かアドバイスはありますか? 私の製品の在庫は0ですが、前に在庫があり、注文するとこのエラーが発生します。 We don't have as many "Item's name" as you requested. ありがとう 後で編集: 私もこの情報を知っています: 管理者で設定>ストア>構成>カタログ>在庫>在庫オプション>在庫切れの商品を表示してNO これは実際にはMagentoの機能です。[在庫切れの商品の表示]を[いいえ]に設定すると、カテゴリリストページと検索結果ページで非表示になるだけです。製品ページは実際にまだ利用可能です。CE 1.9.1以降、構成設定の[Display out of stock products]の下に、製品は引き続き直接製品URLで表示されるというメッセージさえあります。そして、これは実際に良いことです。このようにして、あなたの製品が在庫切れになったとき、検索エンジンは多くの404ページを登録しません。そのままにしておいても害はありません。顧客はとにかくそれらを注文することはできません。ストアで製品をまったく利用できないようにする場合は、その製品を無効としてマークするか、表示を個別に非表示に設定するか、管理製品の編集ページの[Webサイト]タブからWebサイトとの関連付けを削除する必要があります。ソース:在庫切れの商品はまだフロントエンドに表示されます

1
名前がすでに使用されているため、インターフェイスを宣言できません
新しいモジュールでシンプルなインターフェースを作成した後。bin / magento setup:di:compileと入力すると、その名前は既に使用されているというエラーが表示されます。 これが私のコードです: namespace Company\Test\Api; /* * @api */ interface XyzInterface { public function getSomething(); } それから私はこのエラーを受け取ります: Repositories code generation... 1/7 [====>-----------------------] 14% 2 secs 52.0 MiBPHP Fatal error: Cannot declare interface Company\Test\Api\XyzInterface, because the name is already in use in .../app/code/Company/Test/Api/XyzInterface.php on line 13 行は「インターフェイスXyzInterface」です。何が問題なのかわかりません。

1
Magento 2-[注文を確定]ボタンを使用して[レビューと支払い]セクションの後に追加のチェックアウトステップを追加する方法
「確認と支払い」セクションの後に追加のチェックアウト手順を追加しようとしています。要件は、支払いを分割して個別のステップとして確認することです。支払い方法が選択された後、すべての注文情報を「注文する」ボタンで表示する必要がある最後のステップ「レビュー」に移動する必要があります。 これまでのところ、以下のリンクをたどることにより、支払いステップの後にカスタムステップを追加しました。 http://devdocs.magento.com/guides/v2.0/howdoi/checkout/checkout_new_step.html しかし、ここでの問題は、「注文する」ボタンが支払いステップにバインドされていることです。注文するボタンを最後のステップに移動する必要があります。 最も感謝されている助け!!


3
Magento2 REST APIエラー「クラスが存在しません」
アランのブログに基づいてテストMagento 2.0.2 REST Webサービスを作成しました:http : //alankent.me/2015/07/24/creating-a-new-rest-web-service-in-magento-2/ Postmanを使用してカスタムWebサービスを呼び出していると、次のエラーが発生します。 "message": "Class does not exist", "code": -1, "trace": "#0 P:\\wwwroot\\Magento202_com_loc\\Web\\vendor\\magento\\framework\\Webapi\\ServiceInputProcessor.php(128): ReflectionClass->__construct('')\n#1 P:\\wwwroot\\Magento202_com_loc\\Web\\vendor\\magento\\framework\\Webapi\\ServiceInputProcessor.php(262): Magento\\Framework\\Webapi\\ServiceInputProcessor->_createFromArray(NULL, '30')\n#2 P:\\wwwroot\\Magento202_com_loc\\Web\\vendor\\magento\\framework\\Webapi\\ServiceInputProcessor.php(99): Magento\\Framework\\Webapi\\ServiceInputProcessor->convertValue('30', NULL)\n#3 P:\\wwwroot\\Magento202_com_loc\\Web\\vendor\\magento\\module-webapi\\Controller\\Rest.php(262): Magento\\Framework\\Webapi\\ServiceInputProcessor->process('Test\\\\Calculator...', 'add', Array)\n#4 P:\\wwwroot\\Magento202_com_loc\\Web\\vendor\\magento\\module-webapi\\Controller\\Rest.php(160): Magento\\Webapi\\Controller\\Rest->processApiRequest()\n#5 P:\\wwwroot\\Magento202_com_loc\\Web\\var\\generation\\Magento\\Webapi\\Controller\\Rest\\Interceptor.php(24): Magento\\Webapi\\Controller\\Rest->dispatch(Object(Magento\\Framework\\App\\Request\\Http))\n#6 P:\\wwwroot\\Magento202_com_loc\\Web\\vendor\\magento\\framework\\App\\Http.php(115): Magento\\Webapi\\Controller\\Rest\\Interceptor->dispatch(Object(Magento\\Framework\\App\\Request\\Http))\n#7 P:\\wwwroot\\Magento202_com_loc\\Web\\vendor\\magento\\framework\\App\\Bootstrap.php(258): Magento\\Framework\\App\\Http->launch()\n#8 P:\\wwwroot\\Magento202_com_loc\\Web\\index.php(39): Magento\\Framework\\App\\Bootstrap->run(Object(Magento\\Framework\\App\\Http))\n#9 {main}" Magentoのすぐに使えるREST Webサービスを正常に呼び出すことができます。 app / code / Test / Calculator / registration.php …




1
製品リスト属性フィルタークエリ
_getProductCollection() クラスのメソッドにMage_Catalog_Block_Product_List 次のようにフィルターを1つ追加しました。 protected function _getProductCollection() { ... $this->_productCollection = $layer->getProductCollection(); $this->_productCollection->getSelect()->joinInner( array('cpe' => 'catalog_product_entity'), 'e.entity_id = cpe.entity_id' ) ->where("cpe.type_id = 'simple'"); ... } 上記のコードはMagentoバージョン1.7で正常に動作しています。しかし、次のコードを書くたびに、 列が見つかりません:1054 'where句'の列 'e.type_id'が不明です エラー。 コード(機能していません)。 protected function _getProductCollection() { ... $this->_productCollection = $layer->getProductCollection(); $this->_productCollection ->addAttributeToSelect('type_id') ->addAttributeToFilter('type_id','simple'); ... } さて、質問です。 最初の作業コードを使用すると、パフォーマンスに影響がありますか? 適切な製品フィルターを使用するために回避する他の方法はありますか? 更新: 次のコードを適用してrwdテーマを使用しても、エラーは発生しません。しかしdefault、テーマを使用するたびに、以下のエラーが発生します。 コード protected …

4
Magento2のグリッドにデフォルトのフィルターを追加するには?
管理グリッドにタイトルとステータスフィールド属性を持つ1つのカスタムモジュールを作成しました。 module_test_grid_block.xmlのグリッドコレクション <arguments> <argument name="id" xsi:type="string">testGrid</argument> <argument name="dataSource" xsi:type="object">Namespace\Module\Model\ResourceModel\test\Collection</argument> <argument name="default_sort" xsi:type="string">id</argument> <argument name="default_dir" xsi:type="string">desc</argument> <argument name="grid_url" xsi:type="url" path="*/*/grid"><param name="_current">1</param></argument> </arguments> 有効なデータを表示したい。管理グリッドコレクションにデフォルトフィルターを追加するオプションはありますか? 編集 <block class="Namespace\Module\Block\Adminhtml\Test\Grid" name="namespace_module_test.grid" as="grid"> <arguments> <argument name="id" xsi:type="string">testGrid</argument> <argument name="dataSource" xsi:type="object">Namespace\Module\Model\ResourceModel\test\Collection</argument> <argument name="default_sort" xsi:type="string">id</argument> <argument name="default_dir" xsi:type="string">desc</argument> <argument name="grid_url" xsi:type="url" path="*/*/grid"><param name="_current">1</param></argument> <argument name="default_filter" xsi:type="array"> <item name="status" …

4
ロック待機タイムアウトを超えました。トランザクションを再開してみてください
このエラーが毎日4〜5回繰り返し発生します。 SQLSTATE [HY000]:一般エラー:1205ロック待機タイムアウトを超えました。トランザクションを再開してみてください 今回はphpmyadminを再起動しますが、何度も発生します。この問題を指摘することはできません。 Magento ver。を使用しています。ウェブサイトの1.9.0.1。7000以上の製品があります。サーバーには16GBの RAMがあります。 この問題を修正する方法は?

5
Magento2の管理受注ビューにカスタムボタンを追加する方法
一部のイベントはプラグインの代わりに削除されたため、magento2の注文ビューにカスタムボタンを追加する方法。 一部のイベントを削除しました(代わりにプラグインを使用する必要があります): adminhtml_widget_container_html_before(magento 1.xで使用) admin_session_user_logout model_config_data_save_before ... Magento2変更ログを参照
12 magento2 

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