タグ付けされた質問 「magento-1」

マイナーバージョンに固有ではないMagento 1に関する一般的な質問。これを使用してMagento 2と区別できますが、特定のインストールに問題がある場合は、代わりに適切なmagento-1.xタグを使用してください。

5
Magentoコーディング標準
私は最近Magento、Code snifferとの広範囲にわたる作業を開始しました。どの標準に従うべきかを知りたいです。 Zendコーディング標準を試しましたが、80行の制限を使用したくありません。コアでも使用されていません。 その後、CS2標準を試しましたが_、さまざまな関数や、名前_がなく名前が含まれていないクラス名が原因で機能しません。 それで、コアコードが100%に準拠している別の規格はありますか?そうでない場合、magentoに独自のコーディング標準を設定すべきではありませんか?独自のstackexchangeサイトがあり、いくつかの明確に定義されたコーディング標準が拡張開発者によって使用されることを歓迎します。

9
セキュリティパッチSUPEE-10415-考えられる問題?
新しいMagento 1パッチSUPEE-10415がリリースされました。 このパッチは、いくつかのタイプのセキュリティ関連の問題に対する保護を提供します 情報ページ:https : //magento.com/security/patches/supee-10415 ダウンロードページ: https //magento.com/tech-resources/download 気をつけるべき問題は何ですか? また、パッチのインストール後に見つかったすべてのバグと問題を共有してください。 バニラにSUPEE-10415を適用することの問題1.9.1.1は、ショーは、塊エラーメッセージによる適用できないImage.php。 編集:2017年12月7日現在、SUPEE-10497で修正が提供されています 8788バージョン2がインストールされている必要があります。インストールされていない場合、「サポートされていないデータ型」エラーが表示されます。詳細情報。 SUPEE-10415へのアップグレード後、errors /ディレクトリからの「404:Page Not Found」エラー。この問題は、特定のサードパーティの拡張機能を実行するMagentoインストールでのみ発生します。 回避策:拡張機能またはカスタマイズによってPHP警告が生成されていないことを確認します。

6
レイアウトXMLロードのデバッグ
TL; DR:レイアウトの読み込みをデバッグする方法はありますか?あるモジュールのレイアウトは別のモジュールと競合していると思います。 前の質問に関連して:すべてのテーマに表示されるモジュールレイアウトを作成する方法 ローカルテスト環境(開発PC)にモジュールを正常にロードし、3つの異なるテーマ間の切り替えをテストしましたが、問題ありません。その後、私たちが持っているテスト環境または「運用前」環境でモジュールを更新しました。ここには、さまざまなモジュールがあります。この環境では、モジュールは製品フロントページで必要なものを表示しません。いくつかのテストの後、問題はレイアウトの読み込みプロセスにあるべきだという結論に至りました。 だから、レイアウトの読み込みをデバッグする方法、さまざまなモジュールが独自のブロックを置換または追加する方法はありますか?私のポイントは、私のモジュールと競合するモジュールが少なくとも1つあると信じていることです。そして、非常に多くのモジュールがあるため、モジュールを1つずつ無効にするのとは異なるアプローチを探しており、どれが問題のあるものかを確認しています。 私のconfig.xmlファイルは次のとおりです。 <?xml version="1.0" encoding="UTF-8"?> <config> <modules> <Dts_Banners> <version>0.1.0</version> </Dts_Banners> </modules> <global> <blocks> <banners> <class>Dts_Banners_Block</class> </banners> </blocks> .... <events> <controller_action_layout_load_before> <observers> <attributesethandle> <class>Dts_Banners_Model_Observer</class> <method>addAttributeSetHandle</method> </attributesethandle> </observers> </controller_action_layout_load_before> </events> </global> .... </config> 私のオブザーバーファイル: <?php class Dts_Banners_Model_Observer { /** * Checks if the search text on the list …

11
セキュリティパッチSUPEE-10266-考えられる問題?
Magento 1用の新しいセキュリティパッチが公開され、APPSECの13の問題に対処 https://magento.com/security/patches/supee-10266 このパッチを適用する際に注意すべき一般的な問題は何ですか? SUPEE-10266、Magento Commerce 1.14.3.6およびOpen Source 1.9.3.6には、クロスサイトリクエストフォージェリ(CSRF)、不正なデータリーク、および認証された管理者ユーザーのリモートコード実行の脆弱性を閉じるのに役立つ複数のセキュリティ拡張機能が含まれています。これらのリリースには、画像の再読み込みとワンステップチェックアウトを使用した支払いに関する問題の修正も含まれています。


5
テンプレート上のシンボリックリンクはセキュリティ上の問題ですか?はいの場合、なぜですか?
Magentoは、シンボリックリンク経由でテンプレートを使用しないことをお勧めします。 Advanced > Developer > Template Settings > Allow Symlinks 警告!この機能を有効にすることは、潜在的なセキュリティリスクを表すため、実稼働環境では推奨されません。 今日まで、私はここでリスクを見ることはできません。 リスクは何ですか?

7
JavaScriptのすべてのインクルードを前に移動します</ body>
誰もが知っているがどのようにMagentoののJSスクリプトタグなどのすべてを持っているん&lt;script type="text/javascript" src="http://sitename.com/js/prototype/prototype.js"&gt;&lt;/script&gt;クロージング前にレンダリング&lt;/body&gt;? 私はこれを以前に一度試しましたが、おそらく参照フッターで使用したaddJSメソッドの行に沿ってエラーが発生したと思います。

5
Mage_Catalog_Model_Resource_Product_CollectionにストアIDを設定する方法は?
タスクは簡単です。フラットカタログを有効にして、特定のストアビューの製品のリストを取得する必要があります。最も明白な解決策は次のとおりです。 $collection = Mage::getResourceModel('catalog/product_collection') -&gt;setStore($storeId); 実際、setStore()メソッドはストアIDに基づいてフラットテーブルの名前を取得する_initSelect()メソッドの後に呼び出されるため、ここでは何の違いもありませんMage_Catalog_Model_Resource_Product_Collection。ストアIDはまだ設定されていないため、現在のストアIDが使用されます。 したがって、明らかな回避策は、モデルを取得する前に現在のストアIDを設定することです。 Mage::app()-&gt;setCurrentStore($storeId); $collection = Mage::getResourceModel('catalog/product_collection'); それが動作します。ただし、コレクションを1回取得する必要がある場合のみ。ループ内でコレクションを取得する必要がある場合、または2つのバックツーバックコレクションだけが必要な場合は、コレクションに特定のストアを設定できません。 その理由は Mage_Catalog_Model_Resource_Product_Flatクラスには独自の_storeIdプロパティがあり、コンストラクターでは現在のストアIDに設定されるためです。それが最初に設定される理由です。それから、何らかの理由で(天国は私が希望していることを知っていMage_Eav_Model_Entity_Collection_Abstract::_initます)、各リソースモジュールはシングルトンとしてフェッチされます。したがって、2回目の呼び出しのコンストラクタはありません。 これはすべて非常に間違っているように見えるので、私は間違っていると確信しており、Magentoの別のバグ(または2つ)ではありません。誰かがそれに光を当てることを願っています。

2
ユーザーがmagentoにログインしているかどうかを確認する方法は?
モバイルアプリを実行していますが、ユーザーが既にログインしているかどうかを確認する方法を知りたいです。追跡するオブザーバーイベントはありますか?アカウントがログインしていることが検出されると、ユーザーは[アカウント情報]ページに移動します。そうでない場合、ユーザーはログインまたは登録ページにリダイレクトされます。

3
特定のセクションまたはブロックのキャッシュを無効にするにはどうすればよいですか
カートに追加された最新の3つの製品を表示する店頭用のトップバーカート機能を開発しました。これは、キャッシュが無効になっているときに最適ですが、キャッシュを有効にすると、トップカートに奇妙な小計が表示され、カートに奇妙な製品が表示されます。 これは私を悲しくさせます: '( これはキャッシュのために起こっていることを知っています。このセクションでのみキャッシュを無効にできるものはありますか?ブロックHTMLキャッシュを無効にしてみて、これがうまく機能していることを確認しましたが、ブロックHTMLが無効になっている場合、カテゴリflatに不特定の問題があることがわかりました。

5
Magentoプラグイン開発の学習
私は13年以上PHP開発者であり、WordPressのような他の人気のあるプロジェクトに限り、PHP自体に関する広範な知識を持っています。Magentoの経験はありません。 私は現在、Magentoを使用している会社でフルタイムの仕事をしていますが、私の開発作業はすべてMagentoで行われる予定です。 Magentoを初めて見た後の私の最初の考えは、すごいものになりました。しかし、その後、私の経験豊富な開発者が出てきて、それがただのPHPであることを思い出します。 ですから、Magentoの基本的な質問がいくつかあります。Magentoの経験豊富な開発者からの回答に感謝します。 このサイトの横にあるmagento開発について学ぶための最も便利な場所は何ですか? これまでのところ、拡張機能/プラグインは非常に混乱しています。WordPressのような他のプラットフォームでは、プラグインを独自のフォルダーに配置することができ、すべてのファイルはそのフォルダーの下に保存されます。これまで見てきたことから、プラグインはMagentoのいくつかのフォルダに散らばっているかもしれませんが、これは正しいですか? コア機能をオーバーライドする方法について学びました。コア内のファイルがここにある場合、/app/code/core/Mage/SitemapModel/Resource/Catalogこの場所にファイルを作成することでオーバーライドできます。これ/app/code/local/Mage/SitemapModel/Resource/Catalogは拡張機能/プラグインでどのように機能しますか?コア機能をオーバーライドする必要があるプラグインを作成する場合、その拡張機能が機能するためにファイルをいたるところに配置する必要がありますか? magentoを始めて知ってほしい他の情報はありますか? 洞察力のおかげで、これは複数の部分からなる質問であることはわかっていますが、答えは自分自身や他の人にとって役立つと思います。必要に応じてこの公開ウィキを作成します

5
サブフォルダー内の異なるストアビューまたはWebサイト
クライアントは、マルチストアショップを次のように設定したいと考えています。 http://www.domain1.org/de/- &gt; Webサイト1、ストアビュー1 http://www.domain1.org/en/- &gt; Webサイト1、ストアビュー2 http://www.domain1.ch/de/- &gt; Webサイト2、ストアビュー3 http://www.domain1.ch/fr/- &gt; Webサイト2、ストアビュー4 http://www.domain1.ch/it/- &gt; Webサイト2、ストアビュー5 ... これは一例ですが、さらに多くの異なるサブフォルダーが存在する場合があります。さまざまなストアビュー/ Webサイトのさまざまなサブフォルダーを処理する最良の方法は何ですか? 解決策の1つはde、enなどと呼ばれるサブフォルダーを作成し、index.phpと.htaccessを対応するサブフォルダーにコピーすることです。 ファイルの重複を最小限に抑えるための回避策(index.phpのシンボリックリンク、.htaccessを使用する代わりにvHost設定)もありますが、ファイルシステムに変更を加える必要はありませんが、単に解決策を見つけたいです構成ごとにすべてを処理します。 更新 これを行う最善の方法はサブフォルダーを作成することであることをエンタープライズサポートに確認しました。 最終的には次のようになりました。 「languagefolders」ディレクトリを作成します ディレクトリ内にindex.phpのコピーを作成し、調整された.htaccessとMagentoフォルダーへのシンボリックリンク(app /、errors /、...) 「languagefolders」ディレクトリを指すMagentoルートディレクトリ内に「de」、「en」などのシンボリックリンクを作成しました。 この方法では、新しいシンボリックリンク(たとえば「fr」)を作成することにより、新しい言語を追加できます。

20
セキュリティパッチSUPEE-11155-考えられる問題?
Magentoは、M1の新しいセキュリティパッチと、M1およびM2のアップデートをリリースしました。 このパッチ/アップグレードを適用する際に注意すべき一般的な問題は何ですか? Magento 1 https://magento.com/security/patches/supee-11155 Magento 2 これは、今月末にEOLに達する2.1シリーズの最後のリリースになるはずです。 https://magento.com/security/patches/magento-2.3.2-2.2.9-and-2.1.18-security-update-13 https://github.com/magento/magento2/releases/tag/2.1.18 https://github.com/magento/magento2/releases/tag/2.2.9 https://github.com/magento/magento2/releases/tag/2.3.2

2
コレクションクエリでテーブルを左結合する
エクスポートのためにシステムからいくつかの注文を取得するために、次のことを行っています。 $orders = Mage::getModel('sales/order')-&gt;getCollection() -&gt;addFieldToFilter('status', $statusToExport) -&gt;addFieldToFilter('store_id', $this-&gt;processingStoreId) -&gt;addFieldToFilter('updated_at', array('gteq' =&gt; date('Y-m-d H:i:s', $lastSyncTime))); 注文がカスタムテーブルにある場合、エクスポートしない場所に何かを追加する必要がありentity_idます。SQLを使用していた場合、次のようにします。 left join myTable as mt on main_table.entity_id = mt.entity_id where mt.entity_id is null ただし、コレクションクエリを変更して同様のことを行う方法はわかりません。 注:試しました $orders = $orders-&gt;getSelect() -&gt;joinLeft( array("t1" =&gt; $myTable), "main_table.entity_id = t1.entity_id", array("admin_field_id" =&gt; "t1.id") ) -&gt;where("t1.id is null") ただし、これによりクエリが変更されるため、販売/注文のコレクションを返す必要があります。 シンプルなものが足りないと感じています... 編集 …

4
IDから製品URLを効率的に取得
IDのみを指定して製品のURLを取得する最も効率的な方法は何ですか?コードのいくつかの場所にMage::getModel('catalog/product')-&gt;load($id)-&gt;getProductUrl()は、製品のURLを取得するため、製品に関連するイベントの量などを考えると、これはかなり無駄に思えますが、もっと簡単な方法はありますか?カテゴリIDも指定できると便利です。 さらに、名前などの製品の単一の属性に対して同じことを行うための効率的な方法はありますか?

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