Magento

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

8
Magento認定デベロッパーになるための勉強
Magento認定デベロッパーになるための勉強を検討しています。学習ガイドを見ると、答えられる質問がたくさんありますが、問題は、彼らが私に答えてくれると期待していることが本当にわからないことです。 たとえば、この質問: 典型的なMagentoモジュールの構造を説明する 彼らは私に完全なモジュール構造で答えることを期待しますか(私はどこまで行きますか?)、config.xmlがどのように見えるべきかで答えることを期待しますか?ヘルパーやリソースコレクションを含めますか? もっと具体的なガイドを見つけることができる場所を誰かが知っていますか、誰かアドバイスをくれますか? 編集 どうやら、質問はすべて複数選択であるため、物事がはるかに簡単になります。しかし、私はまだあなたが見つけたり知ることができるリソースに興味があります。

5
カスタム拡張機能の書き方
最近、無料の商用拡張機能で多くの問題が発生したため、この質問をして、拡張機能を作成するときに通常実行する手順で回答することにしました。回答を編集するか、新しい回答を追加してください。 拡張機能またはテーマをインストールするほとんどの場合、必要なすべての環境で機能させるために数時間(場合によってはそれ以上、場合によってはそれ以下)を費やす必要があります。 dev:通常localhost、プロジェクトはサブフォルダーにあります preprod&live これは大きくても、拡張プロバイダからの拡張機能(それは私が本当に怒る少なくともまでは無名のまま、ここに自分の名前を追加する必要があります)で起こっている ので、品質を確保するための拡張を書くとき、私は検討すべき段階is..what主な質問技術および非技術者がコードを使用し、技術者がコードを変更するのを容易にしますか?

15
セキュリティパッチSUPEE-7405-考えられる問題?
もう1つのパッチの日です。Magento1.xのSUPEE-7405がリリースされ、修正のリストは長いです:https ://magento.com/security/patches/supee-7405 最後のパッチを使用した後、もう一度質問する必要があります。パッチを適用するときに起こりうる問題は何ですか、また何を考慮する必要がありますか? 多くのXSSの問題が再び修正されたため、カスタムテーマに手動でパッチを適用する予定です。他に何か?後方互換性のない変更はありますか?

7
Magento 2:ObjectManagerを直接使用するかどうか。
それでは、昨日、Magentoコミュニティの他の人たちとinクラス/テンプレートの直接的な使用ObjectManagerに関して大きな話をしました。 Alan Kentを引用して、ObjectManagerを直接使用しない理由をすでに知っています。 いくつかの理由があります。コードは機能しますが、ObjectManagerクラスを直接参照しないことがベストプラクティスです。 そう言うから!;-)(一貫性のあるコードは良いコードとして表現される方が良い) コードは、将来、異なる依存性注入フレームワークで使用される可能性があります テストが簡単になります。モックObjectManagerを提供することなく、必要なクラスのモック引数を渡すことができます。 依存関係をより明確に保ちます -コードの途中で依存関係を非表示にするのではなく、コンストラクターリストを介してコードが依存するものが明らかです カプセル化やモジュール化などの概念をプログラマーがよりよく考えるように促します -コンストラクターが大きくなった場合、コードがリファクタリングを必要とする兆候かもしれません StackExchangeで私が見たものから、多くの人々は、たとえば次のような簡単/短い/推奨されない解決策を求める傾向があります。 <?php //Get Object Manager Instance $objectManager = \Magento\Framework\App\ObjectManager::getInstance(); //Load product by product id $product = $objectManager->create('Magento\Catalog\Model\Product')->load($id); 痛みを伴うが推奨されるプロセスを経る代わりに: モジュールを作成する 設定の宣言 依存関係を注入する パブリックメソッドを宣言する ただし、ジレンマが発生します。Magento2コアファイルは、多くの場合ObjectManagerを直接呼び出します。ここに簡単な例があります:https : //github.com/magento/magento2/blob/develop/app/code/Magento/GoogleOptimizer/Block/Adminhtml/Form.php#L57 だからここに私の質問があります: なぜMagentoは私たちにしないことを勧めているのですか?それは、ObjectManager直接使用する必要がある場合があることを意味しますか?もしそうなら、それらのケースは何ですか? ObjectManagerを直接使用した結果はどうなりますか?

5
最高のMagento Serverセットアップとは何ですか?
現在、英国ではWebサーバーからの最初の応答が200ミリ秒未満である必要があるという要件に取り組んでいます。現在、ロードバランサーの下にある2つの専用Webサーバーと1つのdbサーバーの下で、800ミリ秒で到達しています。 現時点では、サイトの顧客数は5、製品数は2、カテゴリ数は4未満であり、現時点ではサイトのフロントエンドはなく、スタイルもイメージも無料です。 また、Varnishを使用してnginxで実行されています。 誰も私にウェブサーバーのセットアップに関するアドバイスをくれますか?なぜ私たちのものがゆっくり入ってくるのですか?これを最適化するために何をお勧めできますか?400%速くなる必要があります!


30
セキュリティパッチSUPEE-8788-起こりうる問題?
最新のMagento 1セキュリティパッチSUPEE-8788には17個のAPPSECアップデートが含まれているため、できるだけ早く適用することが非常に重要です。一方、下位互換性の問題は多く発生する可能性があり、過去1年間のパッチの履歴を考慮すると、不注意に適用することはありません。 良い点は、今回はフロントエンドテンプレートが含まれていないため、すべてのテーマにパッチを適用する必要がないように見えることです。 これは、Magento 1.8以降にのみ当てはまります。 それでも、パッチを適用した後に互換性の問題やバグが発生しましたか?

23
セキュリティパッチSUPEE-9767-考えられる問題?
16のAPPSECの問題に対処する新しいセキュリティパッチがMagento 1用に公開されています:https ://magento.com/security/patches/supee-9767 CVSSv3 Severityの脆弱性のうち7つは8.0以上であり、実際に悪用されているため、これは重要なパッチです。サイトはSUPEE-9767を適用するか、新しいリリースCE 1.9.3.3 / EE 1.14.3.3に更新できます。 SUPEE-9767を適用する際に注意すべき一般的な問題や落とし穴は何ですか? 更新2017-07-12: MagentoはSUPEE-9767 V2およびCE 1.9.3.4をリリースして、初期パッチの問題の多くに対処しました。V1を適用した場合、元に戻してからV2を適用する必要があります。まだパッチを適用していない場合は、V2を適用するだけで、ここで取り上げた問題のほとんどは関係ありません。

13
Magento core_url_rewriteテーブルが大きすぎる
私は、このテーブル自体が非常に乱雑になる可能性があるという大量のレポートに気付きました。私は〜5000 SKUと〜250カテゴリ(単一ストア)でサイトを運営しており、結果としてcore_url_rewrite600,000行を超え、500MB以上のテーブルがあります非常識です。 これにより、サイトのパフォーマンスが低下し、データベースが非常に大きくなる可能性があります。私はいくつかの掘り下げを行ったが、これに関するかなりの数の投稿を見つけました。 Core_url_rewriteのバグ:インデックスで生成された各製品の膨大な量の重複したURL Magento Commerce-バグ追跡-問題#29020 //これらのリンクは、新しいボードの実装以降に削除されました これでテーブルの切り捨てとインデックスの再作成ができることがわかりましたが、これでは問題は解決せず、問題が再発するのを長引かせるだけです。 私が理解していることから、問題の一部は、製品の名前に基づいて同じURLキーを持つ製品であり、その結果、インデックス付きリンクになります。 記載されている修正は次のとおりです。 app/code/core/Mage/Catalog/Model/Url.php 〜807行目: 変化する: if ($product->getUrlKey() == '' && !empty($requestPath) && strpos($existingRequestPath, $requestPath) === 0 ) に: if (!empty($requestPath) && strpos($existingRequestPath, $requestPath) === 0 ) しかし、これでも問題を完全に解決するわけではありません。 私の質問は次のとおりです。 この問題が発生した場合、問題を繰り返し「管理」することなく、実際に問題を完全に解決する効果的で論理的かつ効率的なアルゴリズムを設定できましたか? う、本当にこのいくつかの洞察を感謝しています。 ところで:あなた自身に感謝し、あなたのテーブルが今どのように見えるか確認してください。あなたはそれを知らずにこの問題とその結果としてのパフォーマンスの影響を経験しているかもしれません-私は知りませんでした。 編集:www.Nexcess.net(Magentoプラチナホスティングパートナー)と連絡を取り合っており、core_url_rewriteかさばる結果としてテーブルの切り捨てが必要であるとクライアントから要求されていることを確認しました。 私の大きな心配は、これが持つ可能性のあるSEOの影響です。そのため、問題が再び発生するのを先延ばしにするのではなく、解決策が欲しいのです。 更新: Nexcessは、テーブル内の製品が重複しているため、SEOを実際に傷つけている可能性があると述べました。

13
Magento 2:Mage :: logメソッドの置換?
Magento 1では、メッセージをログに送信する場合、グローバルMageクラスで静的メソッドを使用します。 Mage::log($message, Zend_Log::DEBUG, "my-log-file.log"); Magento 2に同等のものはありますか?私はdev docsサイトをグーグルで検索しましたが、明らかなものは見当たりません。あります。このInchooの記事では、それはほぼ一年前からだとそんなにはそれ以来変更されました。 Magento 2モジュール開発者として、Magento 1で次のようなコードを置き換えたい場合 Mage::log($message, Zend_Log::DEBUG, "my-log-file.log"); 最低限必要なことは何ですか?
105 magento2  log  psr-logger 


17
Magento 1.9管理パネルにログインできません!
Magento 1.9をインストールしました。それは一週間うまくいきました。昨日突然、Magento管理パネルにログインしようとして「」と入力usernameしpassword、「ログイン」ボタンをクリックしても何も起こりませんでした。ページが更新され、それだけです。エラーやその他のメッセージはありません。 間違ったユーザー名またはパスワードを入力した場合、エラーが表示されます。 この問題についてGoogleで調べた後、次の行をコメントすることをお勧めします。 app \ code \ core \ Mage \ Core \ Model \ Session \ Abstract \ Varien.php /* to solve login issue */ /*if (!$cookieParams['httponly']) { unset($cookieParams['httponly']); if (!$cookieParams['secure']) { unset($cookieParams['secure']); if (!$cookieParams['domain']) { unset($cookieParams['domain']); } } } if (isset($cookieParams['domain'])) { $cookieParams['domain'] = $cookie->getDomain();*/ //I have …


11
test.phpスクリプトでMagento 2をブートストラップするにはどうすればよいですか?
magento 1では、Mage_Core_Model_Appクラスをインスタンス化するだけのファイルを作成し、テスト用に「ダーティ」コードを追加できました。 このようなものtest.php: <?php //some settings error_reporting(E_ALL | E_STRICT); define('MAGENTO_ROOT', getcwd()); $mageFilename = MAGENTO_ROOT . '/app/Mage.php'; require_once $mageFilename; Mage::setIsDeveloperMode(true); ini_set('display_errors', 1); umask(0); //instantiate the app model Mage::app(); //my toy code in here. その後test.php、ブラウザーで呼び出して、自分が何をしているかを確認することができました。 Magento 2でも同じことができますか?
93 magento2  testing 

5
GITおよび展開戦略Magento2プロジェクト
Magento 1では、GITリポジトリをプルするデプロイツールを使用し、次のようなコマンドを実行modman deploy-allして、varディレクトリが書き込み可能であることを確認しました。のために.gitignore私はかなりうまくいったこれを使用しました。 しかし、Magento 2はどうでしょうか? gitignoreが最適に機能するもの、プロジェクトをどのようにデプロイするか、どのコマンドをデプロイの前後に実行する必要があるか。コミュニティからいくつかの洞察を聞くことを楽しみにしています。 質問はしばらくの間開いたままになります
92 magento2 

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