Magento

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


2
addFilter vs addFieldToFilter
Magentoコレクションには、フィルタリングのための2つの方法があります。 1. Varien_Data_Collection_Db::addFieldToFilter 2. Varien_Data_Collection::addFilter 両方のメソッドがwhere条件をに追加するようZend_Db_Selectです。また、どのような利点がありaddFilterますか?代わりにaddFieldToFilterいつ使用する必要がありますか?

3
addAttributeToFilterのマルチ条件(ANDおよびAND内のAND)
addAttributeToFilterでマルチ条件を作成する方法は? このようなSQLクエリの結果が必要です(画像を添付): WHERE ((`e`.`news_from_date` > '2013-09-12') OR (`e`.`news_to_date` < '2013-09-12')) AND ((((`e`.`special_price` IS NULL))) OR (((`e`.`special_price` IS NOT NULL)) AND ((`e`.`special_from_date` < '2013-09-12') OR (`e`.`special_to_date` > '2013-09-12')))) $collection->addAttributeToFilter('special_price', array('null'=>'special_price'), 'left'); ありがとうございました
19 filter 


1
Magentoで異なるドメインを使用して複数のストアを作成する方法
同じ製品、同じデータベースで異なる顧客を持つMagentoで、異なるドメインを持つ複数のストアを作成する方法。 例: mystore1.comとmystore2.comの 2つのドメインを購入しました(FYI:mystore1.comはすでに実行されています) 次に、同じ製品、同じデータベース、異なる顧客を使用してmystore2.comをmystore2.comに追加します。 ノート: この方法で既にテスト済み 段階的に答えてください!! 正解に対する賞金。とんではないの紹介リンクと答えます。


1
Magento 2はKnockoutJSバインディングをどのように適用しますか
KnockoutJSドキュメントを非常に大まかに読むと、非常に基本的なKnockoutビューの初期化は次のようになります。 // This is a simple *viewmodel* - JavaScript that defines the data and behavior of your UI function AppViewModel() { this.firstName = "Bert"; this.lastName = "Bertington"; } // Activates knockout.js ko.applyBindings(new AppViewModel()); つまり、オブジェクトコンストラクターとして使用するjavascript関数を作成し、そこからオブジェクトをインスタンス化し、そのオブジェクトをko.applyBindingsグローバルノックアウトオブジェクトのメソッドに渡します(ko) ただし、Magento 2では、グリッドUIでバックエンドページをロードすると、Magentoはjs/core/app.jsRequireJSモジュールを初期化します /** * Copyright © 2016 Magento. All rights reserved. * See COPYING.txt for license …

1
magento 2でブロックを呼び出すときに、メンバー関数dispatch()を呼び出す致命的なエラー
これは私のブロックファイルです: <?php namespace ChennaiBox\Mymail\Block\Mail; class MailContent extends \Magento\Framework\View\Element\Template { protected $_objectManager; protected $customerSession; public function __construct( \Magento\Customer\Model\Session $customerSession, \Magento\Framework\ObjectManagerInterface $objectManager ) { $this->customerSession = $customerSession; $this->_objectManager = $objectManager; } public function mymailData() { try{ if ($this->customerSession->isLoggedIn()) { $cutomerEmail =(string)$this->customerSession->getCustomer()->getEmail(); echo $cutomerEmail; else{ $this->_redirect('customer/account/login/'); } }catch (Exception $e) { $e->getMessage(); } …


2
bodyにcssクラスを追加する方法[Magento2]
bodyタグにcssクラスを追加しようとしていますが、bodyタグがレンダリングされているファイルを見つけることができません。 bodyタグに1つのcssクラスを追加する必要があります(他のユーザーが来ているなど)> page-with-filter page-products page-layout-2columns-left myclasshere 以前のバージョンでは、ボディにクラスを追加するためのxmlコードがありました。 <reference name="root"> <action method="addBodyClass"> <classname>my-profile</classname> </action> </reference> これを使ってみましたが、うまくいきませんでした。 page-layout-2columns-leftテンプレートのみでクラスを1つ追加する必要があります。
19 magento2 

5
Magento 2:データベースから顧客パスワードをリセットする方法
DBの顧客パスワードのハッシュです。そのため、MD5とSha1は機能していません。 UPDATE `customer_entity` SET `password` = MD5('test123') WHERE `email` = 'X@X.com'; データベースクエリを使用してパスワードを更新する方法。かもしれないMD5(Sha1('test123'))? Magentoのコード経由の動作。に行きますvendor\magento\module-customer\Console\Command\UpgradeHashAlgorithmCommand.php protected function execute(InputInterface $input, OutputInterface $output) { $this->collection = $this->customerCollectionFactory->create(); $this->collection->addAttributeToSelect('*'); $customerCollection = $this->collection->getItems(); /** @var $customer Customer */ foreach ($customerCollection as $customer) { $customer->load($customer->getId()); if (!$this->encryptor->validateHashVersion($customer->getPasswordHash())) { list($hash, $salt, $version) = explode(Encryptor::DELIMITER, $customer->getPasswordHash(), 3); $version .= …

2
Magento 2:プログラムで製品イメージを追加/削除するためのベストプラクティス
既存の製品に画像をアップロードしたい。画像はにありimport_dirます。また、カタログに既に存在する製品に追加する必要があります。 方法は2つしかありませんでした。 1.「悪い練習」方法-製品モデルの使用\Magento\Catalog\Model\Product::addImageToMediaGallery 1. Copy the images from `import_dir` to `pub/media/tmp` 2. Add the images to the product 3. Save product コード /* copy files from import_dir to pub/media/tmp */ /** @var \Magento\Catalog\Api\Data\ProductInterface $product */ /* Init media gallery */ $mediaGalleryEntries = $product->getMediaGalleryEntries(); if (empty($mediaGalleryEntries) === true){ $product->setMediaGalleryEntries([]); } /* …

3
プロパティには、チェックアウト手順の変更中にクラスMagento \ Quote \ Api \ Data \ AddressInterfaceに対応するセッターがありません
1-customer_addressにeav属性を追加します $attributesInfo = [ 'reference' => [ 'label' => 'Reference', 'type' => 'varchar', 'input' => 'text', 'position' => 100, 'visible' => true, 'required' => false, ], ]; foreach ($attributesInfo as $attributeCode => $attributeParams) { $customerSetup->addAttribute('customer_address', $attributeCode, $attributeParams); } 2-モジュールに拡張属性を追加しました <extension_attributes for="Magento\Quote\Api\Data\AddressInterface"> <attribute code="reference" type="string"/> </extension_attributes> requirejs-config.jsで、JavaScriptファイルをオーバーライドして参照フィールドを追加します var config = { …

4
Magento 1 EE v 1.14.3.x(およびCE 1.9.3.x)でのセッション検証の失敗
400〜500人の訪問者と1日あたり40〜50件の注文があるMagentoショップを探しています。最近、システムがMagento EE 1.14.2.4からMagento EE 1.14.3.2にアップグレードされ、ログに奇妙な例外がいくつかあることに気付きました。 exception 'Mage_Core_Model_Session_Exception' in /var/www/.../app/code/core/Mage/Core/Model/Session/Abstract/Varien.php:418 私はその例外を追いかけていましたが、次のセッション検証コードがセッションの検証に失敗したため、例外が発生していることを知っています。 class Mage_Core_Model_Session_Abstract_Varien extends Varien_Object { // ... protected function _validate() { // ... if ($this->useValidateSessionExpire() && isset($sessionData[self::VALIDATOR_SESSION_EXPIRE_TIMESTAMP]) && $sessionData[self::VALIDATOR_SESSION_EXPIRE_TIMESTAMP] < time() ) { このifブロックは、Magentoからの最新リリースでファイルに追加されました。これは明らかにブレーキの変更です。詳細は以下をご覧ください。 例外は非常に頻繁に発生し、1日に数十回です。しかし、上記の条件に文字通りtrueを設定しない限り、例外につながる条件を再作成することはできません。例外はほとんどの場合、製品詳細ページと1ページのチェックアウトの最後のステップで発生します。ショップはb2bショップです。製品ページを表示したり、チェックアウトしたりするには、ユーザーがログインする必要があります。つまり、セッションが無効化/期限切れになると、ユーザーはログインページにリダイレクトされます。現時点では、チェックアウト中にこの問題を修正することがより重要です。 ユーザーの観点から何が起こるか:ユーザーはカートを満杯にし、チェックアウトに進み、最後のステップに進み、「注文を送信」ボタンを押しても何も起こりません。舞台裏では、MagentoのJSはAJAXリクエストを実行し、JSはJSONを受信することを期待していますが、このエラーが発生するとログインページのHTMLが返され、JavaScriptで解析できず、何もしません。これはユーザーにとっては非常に紛らわしいです。 まあ、それは完全なユーザーシナリオではありません。ユーザーに連絡し、カートに入れて注文を送信するまでに数日待っていたと伝えました。人々は単にそれを覚えていないので、正確に何を意味するのかわかりません。 PHPセッションの有効期間-350000(秒で最大4日)Cookieの有効期間-345600(4日) 実際の質問は次のとおりです。 どのようなユーザーの行動が例外につながるのかをどのように見つけることができますか? 更新 これまでのところ、リクエストに応じて次のクラスで例外が発生することを知っていますが、残念ながら何も意味しません。 /catalogsearch/result/?q=… Mage_Core_Model_Session /checkout/cart/ Mage_Core_Model_Session /checkout/onepage/saveOrder/… Mage_Rss_Model_Session /customer/account/loginPost/ Mage_Core_Model_Session …


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