Magento

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

6
Magentoのフッターにjsを読み込む
<reference name="footer"> <action method="addItem"> <type>skin_js</type> <file>js/fabric/tool/controller_tool.js</file> </action> </reference> 上記のコードを使用して、jsをフッターにロードしました。しかし、Magentoはエラーを投げます 無効なメソッドMage_Page_Block_Html_Footer :: addItem(Array([0] => skin_js [1] => js / fabric / tool / controller_tool.js))) フッターにjsをロードする必要があります。この問題を克服する方法。

1
Magento swf XSSの脆弱性-対処方法
http://appcheck-ng.com/unpatched-vulnerabilites-in-magento-e-commerce-platform/にリストされているSWF / Flashの脆弱性ごと 私がMagento 1.9.1.0にまだ存在することを確認しましたが、これに対処する最良の方法は何ですか?これらのswfファイルへのアクセスのブロックまたは制限に関する問題はありますか?


3
パフォーマンス:すべての製品タイプの製品リストlist.phtmlに在庫在庫レベルを追加します
TL; DRの要件は、Magentoのフレームワークに準拠したパフォーマンスを念頭に置いて、追加のクエリ/メモリを最小限に抑えて、在庫の在庫レベルをカテゴリ製品リストページに表示することです。 スケーラビリティのためのプリロードに関するVinai Koppの記事を読んだ後。 パフォーマンスのために追加のクエリ/ロードをできるだけ少なくして、カテゴリ製品リストページ(list.phtml)に在庫在庫レベルを含める最良の方法は何ですか? 私はいくつかのアプローチを知っています: afterLoad()は、media_gallery追加のクエリなしでインクルードしてもうまく機能するように見えますが、インベントリで同じアプローチを実装することに成功していません。 $attributes = $_product->getTypeInstance(true)->getSetAttributes($_product); $media_gallery = $attributes['media_gallery']; $backend = $media_gallery->getBackend(); $backend->afterLoad($_product); product_idたとえば、キーを使用してコレクションと並行して必要なデータを収集するようにSQLに指示します。しかし、フレームワークを通じてより多くの手段を探しています。 現在、私は単に次のstock_item方法でオブジェクトをロードしています: $_product->load('stock_item')->getTotalQty(); これは機能しますが、コレクション内のすべての製品の在庫在庫合計を取得するためのクエリが追加されていることに気付きました。 ... __EAV_LOAD_MODEL__ (Mage_Catalog_Model_Product, id: stock_item, attributes: NULL) __EAV_LOAD_MODEL__ (Mage_Catalog_Model_Product, id: stock_item, attributes: NULL) __EAV_LOAD_MODEL__ (Mage_Catalog_Model_Product, id: stock_item, attributes: NULL) ... 奇妙なことに、これは動作します。魔法はMage_Eav_Model_Entity_Abstract-> load($ object、$ entityId、$ attributes)で発生します。$ attributesが空の場合、loadAllAttribute($ object)を呼び出します。したがって、$ product-> load( …

6
Magento 1.9.1 cron_scheduleは永久に選択されません
私はほぼ3日間を費やし、スケジュールされたタスクを処理するMagento Cronを理解して作成することができませんでした。Magento 1.9.1.0を実行していますが、最近、注文メールがすぐに送信される代わりにキューに入れられることに気付きました。私は必要性を理解していますが、システムにキューを選択させることはできません。 これがCronjobの私の見方です。 これが私のcronjobコマンドラインです。 cron_scheduleテーブルでタスクを作成する方法は次のとおりです。 レコードはcron_scheduleテーブルに作成されるため、Cronは5分に1回実行されていると思います。PhpMyAdminを使用してこれらのレコードを手動で削除すると、しばらくするとレコードが自動的に作成されます。 ただし、タスクのステータスは「保留」のままであり、完了しません。私の設定に何か問題があるのか​​、何かが足りないのかわかりません。誰かがスケジュールされたタスクを時間通りに実行する方法を教えてください。また、1つのジョブコードに対して複数のレコードが作成されるのはなぜですか? 更新 テーブル全体をクリアし、cronがスケジュールされたジョブを作成しました。すべてのジョブは保留状態にあり、60分以上待機しても実行されません。Magento 1.9.1の何かがおかしい 更新11/02:今日、プロセスについてさらに分析を行いました。 以下のようにcron.phpを編集しました echo 'iam before mdefault 1'; shell_exec("/bin/sh $baseDir/cron.sh $fileName -mdefault 1 > /dev/null 2>&1 &"); echo 'iam before malways 1'; shell_exec("/bin/sh $baseDir/cron.sh $fileName -malways 1 > /dev/null 2>&1 &"); echo 'i returned success'; Mage_Cron_Model_Observerクラスを次のように編集しました public function dispatch($observer) { …

1
Magentoに株価指数があるのはなぜですか?
私は、ビット短いが目撃されているかもしれないが、私は、Magentoのは、株価指数を有するとき、背後にある理由を見つけることができないcataloginventory_stock_statusとcataloginventory_stock_status_idx構造が同じであるが。 テーブルレベルで見つけることができる唯一の違いは次のとおりです。 行数にわずかなばらつきがあります cataloginventory_stock_status インデックステーブルに見つからない3つの外部キー制約があります。 ロックまたは特定のプロセスに関連する何らかの理由があり、チェックアウトに影響を与えるが、その理由に関する情報を見つけることができないと思われます。
12 stock  index 


4
require_once 'app / Mage.php'のセキュリティリスク; Magentoルートで
Magentoルートrequire_once 'app/Mage.php';にMage::getStoreConfigシステム変数へのアクセスを許可するファイルがあります。 これはセキュリティリスクを引き起こしますか?別のフォルダに配置する必要がありますか? これは私のファイル/twitter.phpです: <?php require_once 'app/Mage.php'; Mage::app(); $consumer_key = Mage::getStoreConfig("Social/twitterapi/consumer_key"); $consumer_secret = Mage::getStoreConfig("Social/twitterapi/consumer_secret"); $oauth_access_token = Mage::getStoreConfig("Social/twitterapi/access_token"); $oauth_access_token_secret = Mage::getStoreConfig("Social/twitterapi/access_token_secret");
12 security 

2
magentoサイトでhttpsを有効にする方法
magentoバージョン1.8を使用しています。 godaddyからssl証明書をインストールし、ベースの安全なURLをhttps://www.mydomain.comとして指定しました。両方のオプションも選択しました Use secure urls in frontendおよびUse Secure urls in admin。 しかし、httpsを試してみると、ページが見つからないというエラーが表示されます。また、管理ページにアクセスできません。私のサイトはうまく機能しています。
12 magento-1.8  ssl 

4
なぜget.phpや `core / file_storage_database`が作成されたのですか?
バージョン1.5または1.6前後から、Magentoのルートフォルダにという名前のファイルがありましたget.php。core/file_storage_dataモデルを使用するこのファイルを使用すると、Magentoシステムの所有者は、ファイルシステムにイメージファイルがなくても、データベースのblob列から直接製品メディアファイルを提供できます。PHPはファイルの送信を処理します #File: get.php function sendFile($file) { if (file_exists($file) || is_readable($file)) { $transfer = new Varien_File_Transfer_Adapter_Http(); $transfer->send($file); exit; } } これは、Magentoの歴史的領域に向かっていますが、なぜこの機能が開発されたのですか?どうやら-少し狂っています。PHPはファイルを提供するための最も効率的な方法ではありませんが、MySQLのBLOBストレージが不安定であることの歴史があり、さらに安定したデータベースブロブの実装では、との仕事に背後の痛みで、私が見ることができるものからVarien_File_Transfer_Adapter_Http追加していませんこれらのファイルへのキャッシュヘッダー。 Magentoがこの機能を開発した理由を知っている人はいますか?それは実際に解決するために設定した目標/問題を達成しますか?誰かがそれを使用していますか?

2
githubでモジュールを管理するためにmodmanを使用する方法は?
githubで拡張機能を管理するためにmodman(https://github.com/colinmollenhour/modman)を使用しようとしています。 最初に、MagePsycho_Someext拡張機能をデモとして追加しようとしています。 これまでのところ、次の手順を実行しました /var/www/magento-dir/ -> My Magento Installation Dir /var/www/MagePsycho_Extensions/ --> Git Repository Dir cd /var/www/MagePsycho_Extensions/ git clone git@github.com:magepsycho/Someext.git touch modman git commit -am 'Modman file added' git push origin master cd /var/www/magento-dir/ modman init modman clone git@github.com:magepsycho/Someext.git / var / www / magento-dirに次のファイルを含む拡張機能「MagePsycho_Someext」を開発しました app / etc / modules / …
12 modman 



2
カートのgetItemsCount()とgetSummaryCount()の違い
カートにある合計アイテムをヘッダーに表示しています。アイテムの数を表示できます。 しかし、私はカートの2つの方法の間で少し混乱しています 1. Mage::helper('checkout/cart')->getItemsCount() 2. Mage::helper('checkout/cart')->getSummaryCount(); 私にとっては、最初の1つはカートに1つのアイテムを返し、2つ目は6つのアイテムをカートに返します。これは正しいものであり、これら2つの機能の違いは何ですか。 ありがとう。

9
magentoテンプレートで空の属性を非表示にする方法は?
magentoテンプレートのカスタム属性を非表示にします。私のmagentoバージョンは1.8.1です ブランド、ディメンション、製品タイプなどの製品のカスタム属性を追加しましたが、これらの属性に値を追加しない場合がありました。magentoでは、製品ビューページに「いいえ」または「なし」と表示されます。 そのため、テンプレート内の空の属性または値のない属性を非表示にする必要があります。

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