Magento

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

3
multiwebsite-multidomainセットアップでWebサイトごとにメンテナンスモードを変換します
マルチWebサイトとマルチドメインのセットアップでWebサイトごとにメンテナンスモードを変換する マルチウェブサイトおよびマルチドメイン環境でメンテナンスページを翻訳(ローカライズ)する適切な方法は何ですか? セットアップの作成: MAGENTO_ROOT / index.php MAGENTO_ROOT / uk / index.php MAGENTO_ROOT / us / index.php MAGENTO_ROOT / somecode / index.php ストアは次の方法でアクセスできると仮定します。 http://MagentoExample.com/index.php(デフォルト) http://MagentoExample.uk/(uk) http://MagentoExample.us/(us) http://MagentoExample.com(somecode) 私は簡単にそれに対するいくつかの解決策を見ることができますが、それらのすべては実際の素敵できれいな解決策よりも回避策のようです。 この問題をどのように解決しますか?

1
Magento 2のVCLを作成する
公式ドキュメントでは、Varnishは標準でサポートされていると書かれており、Varnish 3およびVarnish 4と互換性のあるVCLファイルを生成するオプションがあるはずです。管理パネルまたはCLIを使用してこれを見つけることができません。誰かがこの機能を使用しようとしましたか?

4
データベースを介して重複したSKUを削除するにはどうすればよいですか?
adminを介していくつかのMagento製品を編集して保存しようとすると、「属性「SKU」の値は一意でなければなりません。」というエラーが表示されます。 Magento adminで製品を表示すると、重複するskuが見つかりませんが、製品のエクスポートを実行すると、実際には同じskuの製品がいくつかあります。理論的には、Magentoはこれを決して許してはいけませんでしたが、残念ながら、以前のMagentoのバグや癖の残骸を運んでいると思われるかなり大きく成熟した(3歳以上)製品グループを扱っています。 この問題を解決する唯一の方法は、データベースから重複するスカルの1つを手動で削除することであると推測していますが、これを行うための最良/安全な方法はわかりません。データベースの操作経験はほとんどありませんので、ご協力をお願いします。

3
Magento 2:magento 2管理者ログインページでエラー404が見つかりません
magento 2をパーソナルコンピューターにインストールしました。あちらで問題なく動作します。 私は別のシステムに同じコピーをインストールしましたが、フロントエンドはうまく機能していますが、管理者はそうではありません。(404ページを表示) 今、ラップトップにインストールしたいです。 私はフォローしました... つまり、PCからmagento2フォルダーをコピーし、wamp/www/magento2ラップトップの適切な場所に置くだけです。wamp/www/magento2 magento2データベースをPCからエクスポートし、ラップトップlocalhostでインポートします。 base_urlインポートされたDBを更新します。 削除された内容のアンダーvar/としてWELとしてpub/static/ 私はフォローしようとしました... 実行しますphp magento setup:upgradeが、有用ではありません。

1
Gzip圧縮を有効にする方法は?
MagentoプロジェクトのGzip圧縮をセットアップする必要があります。.htaccessプロジェクトのファイルで多くのコードを試しましたが、Gzipを有効にできませんでした。 適切なソリューションを教えてください。

2
顧客がメールアドレスの代わりに顧客番号でログインすることは可能ですか?
メールアドレスの代わりに割り当てられた顧客番号を使用するログインページを作成したい。私のビジネスのセットアップ方法は、別のeCommsプラットフォームで、1つのアカウントの複数のアカウントマネージャーであるため、顧客番号でアカウントにアクセスします。それらのアカウントを作成し、顧客番号を割り当てます。顧客番号を使用して、パスワードを使用してログインします。 どんな助けも大歓迎です。

2
Magento 2:コントローラーアクションから「表示」に変数を渡す
Magento 1で、コントローラーアクションから「ビュー」にデータを渡す場合(レイアウトのブロックなど) 経由でグローバルレジストリに値/オブジェクトを追加します Mage::register 実行後にブロックオブジェクトを直接フェッチし、フェッチしたブロックオブジェクトにデータプロパティを設定します loadLayout phtmlファイル内のブロックオブジェクトのメソッドを呼び出し、ブロックオブジェクトにモデル/データベースレイヤーを使用して、コントローラーアクションで以前に保存されたデータを読み取らせる ブロックオブジェクトメソッドを使用してデータベースから読み取ることは、Magento 2でも引き続き機能するようです。これは、特定の種類の操作に適しています。しかしながら、 Magento 2にはグローバルレジストリがありません(またはありますか?) レイアウトシステムは、ファクトリを介してページオブジェクトを作成することで機能するようになりました。Magento1と同じ方法でブロック参照を取得することはできません。 Magento 2では、コントローラーアクションからビューに直接データを渡すことはできますか?それとも、これはMagentoの勇敢な新しいDesign Pattern™の世界のパターンでもありますか?これがあまりにも直接的なパターンである場合、テンプレートに表示したい計算された情報があるが、その情報をステートフルシステムに保存したくない場合(つまり、データベース) 私はこれを自分で一緒にハックするいくつかの異なる方法を考えることができますが、Magento 2 がどのようにあなたにそれを望んでいるかに興味があります。 注:このようなものを使用して、コントローラーアクションでブロックインスタンスをフェッチすることが可能であることを認識しています $resultPage = $this->resultPageFactory->create(); $block = $resultPage->getLayout()->getBlock('catalog.wysiwyg.js'); var_dump(spl_object_hash($block)); Magento 2コアコードはこれを頻繁に行います。しかしながら-ブロックオブジェクトがコントローラオブジェクトにフェッチと思わに利用可能であるとは異なるオブジェクトphtmlのいずれかを介してテンプレート$thisまたは$block(前者($this後(一方、実際にテンプレートを描画オブジェクトであると思われる)$block)があるように思われますMagento Blockタイプのインスタンス)。 #File: path/to/template.phtml var_dump(spl_object_hash($block)); var_dump(spl_object_hash($this)); コントローラーアクションメソッドにデータを設定すると、phtmlテンプレートでデータが利用できなくなり、spl_object_hash上記の結果を比較すると、3つの異なるハッシュが得られるため、「あるように見えます」と言います。しかし、私はこれに十分慣れていないので、上記のエラーは他のエラーになる可能性があります。したがって、ブロックにデータを設定してテンプレートで取得できた場合は、それについて聞いてみたいです!

3
Magento 2は安定して、新しいeショップの開発を開始できますか?[閉まっている]
閉じた。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集して事実と引用で答えられるように質問を更新してください。 4年前に閉鎖されました。 新しいEショップの開発を開始したいのですが、現在のMagento2の体験は、快適で開発するには遅すぎてクラッシュします。 Windows XAMPPでMasterとDevの両方のブランチを試しました。フロントエンドショップと管理パネルの両方が、ランダムエラーで絶えずハング/クラッシュすることがわかりました。例:https : //github.com/magento/magento2/issues/1734 Magento 2はUnix上でより安定していますか?VMでセットアップしようとする価値はありますか?

3
Magentoをアップグレードまたはパッチする必要がありますか?
現在、Magentoに最新のパッチを適用していますが、パッチを適用する価値があるのか​​、それとも最新バージョンにアップグレードする価値があるのか​​疑問に思っています。 私が知る限り、唯一の変更はMagentoファイルに含まれているパッチのようです。または、1.9.1.1から1.9.2.1にアップグレードするだけですか?

1
グループ/フィールドセット間のsystem.xmlの依存関係
system.xmlを使用すると、個々のフィールドの可視性を他のフィールドの値に依存させることができます。gotoの記事は、もちろんAlan Storm:In Depth Magento System Configurationからのものです。 次のようになります(ここで彼のサンプルコードを借りています)。 Location: app/code/local/Alanstormdotcom/Helloworld/etc/system.xml <config> <tabs> <helloconfig translate="label" module="helloworld"> <label>Hello Config</label> <sort_order>99999</sort_order> </helloconfig> </tabs> <sections> <helloworld_options translate="label" module="helloworld"> <label>Hello World Config Options</label> <tab>helloconfig</tab> <frontend_type>text</frontend_type> <sort_order>1000</sort_order> <show_in_default>1</show_in_default> <show_in_website>1</show_in_website> <show_in_store>1</show_in_store> <groups> <notes translate="label"> <label>Demo Of Config Fields NOTES</label> <frontend_type>text</frontend_type> <sort_order>1</sort_order> <show_in_default>1</show_in_default> <show_in_website>1</show_in_website> <show_in_store>1</show_in_store> <fields> <enabled translate="label"> <label>Enabled</label> …

2
システム構成の開始ページ(admin / system_config / index)はどのように定義されていますか?
システムSystem > Configuration管理画面のシステム構成の開始ページがインストールごとに異なることにしばしば気づきます。General > Generalセクションを表示する代わりに、常に1つまたは別の拡張機能のセクションが表示されます。 これはどのように起こりますか?並べ替え順序ではありませんGeneral > General。最初のタブがまだ存在するショップでも発生するためです。 さらに重要なことは、これをどのように防止するか、システム構成用に独自の「ホームページ」を定義しますか?

6
magento 2ベータ版のフロントエンドでセッションメッセージを表示する方法
magento 2モジュールでエラーまたは成功メッセージを表示したい。フロントエンドコントローラをクラス名で拡張しました\Magento\Framework\App\Action\Action。次に、次のコードを使用してクライアントをホームページにリダイレクトします $this->messageManager->addError($SomeMessage); $resultRedirect = $this->resultRedirectFactory->create(); $resultRedirect->setPath($base_path); すべて正常に動作しますが、この行はエラーを出力しません $this->messageManager->addError($SomeMessage);

2
getConfig関数のランタイム
ページの実行時間を測定したところ、関数getBaseCurrencyCode()が実行に1秒以上かかることがわかりました。すべてのキャッシュが有効になっています。 私は関数を調べて、次のコマンドを見ました: $this->getConfig(Mage_Core_Model_Store::XML_PATH_PRICE_SCOPE) 秒かかります。 しかし、私が使用するとき、 Mage::getConfig()->getNode(Mage_Core_Model_Store::XML_PATH_PRICE_SCOPE); それはミリ秒かかります なぜこの時間差が発生するのですか? 何かアドバイス? 提案された解決策を試しましたが、まだ大きな時間差があります。getConfig関数を実行してここに投稿するのにかかる時間を試して測定していただければ幸いです。 このコードをマイクロタイム関数でラップして、この関数にかかる時間を測定しようとしました すなわち、ローカルパス上:app\code\core\Mage\Core\Model この行の代わりに: $configValue = $this->getConfig(Mage_Core_Model_Store::XML_PATH_PRICE_SCOPE); 次のコードに置き換えました(microtimeと同じコード): $start = microtime(true); $configValue = $this->getConfig(Mage_Core_Model_Store::XML_PATH_PRICE_SCOPE); $time_elapsed_secs = microtime(true) - $start; echo "function: getConfig() took me: " . $time_elapsed_secs . " sec<br />"; die; 私の出力は: function: getConfig() took me: 1.1326711177826 sec 出力とランタイムを確認できたらうれしいです。

1
セキュリティリマインダーが引き続き…(SUPEE-5344&SUPEE-1533)
クライアントに代わって管理するMagentoのインストールがいくつかあります。脆弱性には既にパッチを適用していますが、警告は引き続き発生します。すべてのサイトで3番目の警告を受け取りました。 1.7.0.2と1.9.1.0の2つの異なるバージョンがデプロイされています。 1.9バージョンにパッチを当てると、いくつかの警告が出ましたが、shファイルの「diff」を実際のコードと照合することで、パッチが適用されたことを確認しました。また、1.9.1.0で既に変更が加えられているため、SUPEE-1533パッチを適用できませんでした。私は他の場所でパッチが1.9.0.1専用であることを発見しました。/app/etc/applied.patches.listにあるSUPEE-5344の数字のみ 1.7.0.2では、別の問題があります。私は両方のパッチを適用することに成功しましたが、SUPEE-5344は代わりにSUPEE-5345と呼ばれています。 警告は徐々に増え続け、クライアントはそれらについて不平を言っています。セキュリティパッチを適用しなかったようです。 また、パッチの命名は少し残念です。SUPEE-5344とSUPEE-5345は、Enterpriseバージョンの名前が付けられています:コミュニティバージョンのパッチをダウンロードしたにもかかわらず、EE_1.12.0.2とEE_1.14.1.0 ... パッチをインストールしたときに何か見逃しましたか?apply.patches.listに正しいパッチ名がある場合、警告は表示されなくなりますか?

1
MagentoのEEキャッシュに印象的なファントムナビゲーションデコレータの奇妙なケース
変なものの準備をしなさい。そのため、プライマリカタログナビゲーションをカスタマイズして、デバイス全体で複数の対話モデル(メニュー、ドロップダウン、モーダルなど)を処理するステートフルUI動作を構築しています。あなたのように。 つまり、このクラス/メソッドをオーバーライドします。 app/code/core/Mage/Page/Block/Html/Topmenu.php :: _getHtml() このようなHTML出力を生成するには(多少簡略化): <ul class="nav-list"> <li class="nav-1"> <a data-ui-action="nav-1" href="#">Bazzow</a> <div class="menu"> ... </div> </li> <li class="nav-2"> <a data-ui-action="nav-2" href="#">Bazinga</a> <div class="menu"> ... </div> </li> </ul> さて、これはdata-ui-action属性を除いてかなり退屈/標準です。そこでJSの魔法が起こります。その属性を持つ要素をクリックすると、UIの状態が更新されます。ごli.nav-X想像のとおり、クラス(Magentoが追加)は、UI状態をアクティブ化された要素にバインドするためのフックとして機能します。 いいですね EEキャッシュをオンにします。いいですか?違う。 表示しているページがBazinga(別名nav-2)のカタログ階層内にある場合、突然次のように表示されます。 data-ui-action="nav-2 active" 不快なactive文字列を追加したのは誰ですか?幻は誰です。 そして、データ属性の値が<li>クラスと一致しなくなったため、UI状態が失敗します。ファントムを追い詰める。 狩り 最初に、EEキャッシュの下$child->getPositionClass()で、出力nav-2に実際に他の(おそらく)クラス値が追加されていないことを確認します。ありません。 Magentoの多くのデコレータJSスクリプトの1つがnavリストで実行されていないことを確認します。そうではありません。 たぶんそれは実際にはの奇妙なことでしょう/js/varien/menu.js。ただし、いつものように、これらのコアスクリプトは既に除外されています。 たぶん、モジュールがPHPクラスからレンダリングされるとは決して知らない、クレイジーなインラインJSかもしれません。タグactive内でページソースを検索します<script>。何も見つかりません。 たぶん、JS Magentoが必要とするが外部からロードする他のクレイジーなものかもしれません。ブラウザでJSを無効にしますが、ファントムは存続します。 Topmenu.phpクラスに戻り、データ属性を削除します。問題は停止します。なんてこったい。 同じ要素の別の属性が適切に引用符で閉じられていないのではないかと思います(クラスの追加が多く発生します)。そのため、属性の順序を入れ替えて、さまざまな組み合わせで削除します。サイコロなし。データ属性が存在する場合、ファントムも存在します。 この PHPクラスが行動を起こさないとしたらどうでしょうか。page_block_html_topmenu_gethtml_afterマークアップを超えてハックするために他の何かが使用する可能性のあるディスパッチイベントがあります。なし。 何。です ハプニング。ここに。 …

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