Magento

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

1
Magentoのファクトリーメソッドの完全なクラス名
Magento 1では、ファクトリメソッドで完全なMagentoクラス名を使用すると、オブジェクトをインスタンス化できます //trying full class name instead of catalog/product $object = Mage::getModel('Mage_Catalog_Model_Product'); ただし、同じことはヘルパーには機能しません。あなたがしようとすると Mage::helper('Mage_Core_Helper_Url'); あなたが得る Warning: include(Mage/Mage/Core/Helper/Url/Helper/Data.php): failed to open stream: No such file or directory in /path/to/magentolib/Varien/Autoload.php on line 93 #0 /path/to/magentolib/Varien/Autoload.php(93): mageCoreErrorHandler(2, 'include(Mage/Ma...', '/path/to/magent...', 93, Array) #1 /path/to/magentolib/Varien/Autoload.php(93): Varien_Autoload::autoload() #2 [internal function]: Varien_Autoload->autoload('Mage_Mage_Core_...') #3 /path/to/magentoapp/Mage.php(547): spl_autoload_call('Mage_Mage_Core_...') #4 /path/to/magentoapp/code/local/Sebastianjuffar/Commercebug/controllers/IndexController.php(11): …
11 model  helper  factory 

3
管理者からのメールテンプレート
Magento Transactional Emailsにこの奇妙な問題があります。ローカルサーバー、開発サーバー、および運用サーバーに同じファイルがあります。 [管理]> [システム]> [トランザクションメール>新しいテンプレートを追加します。 ドロップダウンからテンプレートを選択し、ローカルを英語(米国)のままにします。フィールドは開発サーバーと本番サーバーでは入力されていませんが、ローカルでは正しく機能しています。権限エラーだと思ったのですが、調べたところ、テンプレートファイルからコードを読み込むajax呼び出しが正しく機能していることがわかりました。 何が悪いのでしょうか? /index.php/admin/system_email_template/defaultTemplate/key/7ac9c5866202e5cb29be84299bf2ebad/?isAjax=true Response: { "template_type": 2, "template_subject": "{{var store.getFrontendName()}}: Shipment # {{var shipment.increment_id}} update", "orig_template_variables": "{\"store url=\\\"\\\"\":\"Store Url\",\"var logo_url\":\"Email Logo Image Url\",\"var logo_alt\":\"Email Logo Image Alt\",\"htmlescape var=$billing.getName()\":\"Guest Customer Name\",\"var order.increment_id\":\"Order Id\",\"var order.getStatusLabel()\":\"Order Status\",\"var comment\":\"Order Comment\",\"var store.getFrontendName()\":\"Store Name\"}", "template_styles": "body,td { color:#2f2f2f; font:11px\/1.35em Verdana, …


6
複数のデータベースを使用した単一のインストール
1つのインストールを作成し、このインストールから異なるデータベースで複数のショップを作成することは可能ですか? データベースを使用してdomain.1に 1つのインストールを作成し、adminからdomain.2の新しいデータベースに新しいWebサイトとストアを作成するようなものです。 1つのデータベースで複数の店舗を実現できることは知っています。しかし、データベースが異なっていても同じになる可能性があります。

1
getChildHtmlとgetBlockHtmlの違いは何ですか
あらすじ 違いは何であるgetChildHtmlとはgetBlockHtml? テンプレートでcms / blockタイトルを取得するにはどうすればよいですか? 基本的にフッターを自分のフッターに置き換え、自分のフッターを設定しました。<?= $this->getChildHtml('...') ?>これは、使用するまで機能しませんでした<?= $this->getBlockHtml('...') ?>。 レイアウトXML: <layout> <default> <block type="core/template" name="custom_footer" as="footer" template="page/html/footer.phtml"> <block type="cms/block" name="child_1"> <action method="setBlockId"><block_id>footer_child_1</block_id></action> </block> </block> </layout> </default> テンプレート(機能しません): <footer> <div class="row"> <div class="col-sp4"><?= $this->getChildHtml('child_1') ?></div> </div> </footer> テンプレート(作品): <footer> <div class="row"> <div class="col-sp4"><?= $this->getBlockHtml('child_1') ?></div> </div> </footer> 解決: 最初に、次の方法でフッターをオーバーライドする必要がありlocal.xmlました。 <default> …

1
XML構成ノード/値を上書き/削除しますか?
コアXMLファイルに触れずに一部のXML値を削除したいのですが、可能ですか? シナリオは次のとおりです。 では/app/code/core/Mage/Tax/etc/config.xml、我々は合計のためのいくつかの設定値を持っています(<sales><quote><totals>)。taxフロントエンドに税明細が表示されないように、コメントアウトしたいと思います。 コアXMLファイル内のノードにコメントを付けることは問題ありませんが、最善の方法ではありません。 別のモジュールに新しいempy値を入れた場合、別の効果があります(宣言を削除するようなものではありません) 特に、私は次のようなことをしたいです: <!--<renderer>tax/checkout_tax</renderer>-->

2
https URLをhttpにする方法
magentoがどのページをセキュリティで保護する必要があるか、どのページをセキュリティで保護する必要があるかをどのように決定するのかと思います。 私が理解していることから、magentoはデフォルトでチェックアウトとログインページを安全にするだけです&私はfrontend/secure_url/....モジュールのconfig.xmlを介して設定パスの下でそれらを指定することによって他のページを安全にすることができます 管理者側の設定は問題ないようです。SSLはフロントエンドとバックエンドの両方で有効になっています。バックエンドは完全にhttpsを介しています。フロントエンドでは、ホームページを含むほとんどのページがhttpで正常に動作し、チェックアウトとログインのページは期待どおりにhttpsにリダイレクトされます。 しかし、カスタムモジュールのコントローラー/アクションを含め、HTTPに留まると期待していた他のいくつかのURLがhttpsにリダイレクトされます。 これをデバッグする方法についていくつかのポインタが必要ですか?それらがリダイレクトされるのを防ぐために使用できる他の構成はありますか?
11 https  secure 

2
単純な製品のカスタムオプションのデフォルト状態
タイプチェックボックスのカスタムオプションを持つ一連の製品があります。ただし、製品のセットアップからその特定のオプションのデフォルト状態を設定することはできません。 ユーザーが商品ページを入力したり、カテゴリページからカートに追加したりするときに、デフォルトでチェックされるチェックボックス(オプション)の少なくとも1つが必要です。 これはMagentoの管理から実行できますか、それともいくつかの追加の開発が必要ですか(そうであれば、これをどのように行うことができますか)?

4
カートに追加イベントを監視しています-見積もりアイテムIDが空です
アイテムがカートに追加されたときに発生するイベントをキャッチしようとしています。私は現在、次のイベントを見ています。checkout_cart_product_add_after magentoのソースによると、このイベントはすべての見積もりが完了した後に発生します。しかし、カートIDと見積もりIDにアクセスすると、値が空になります。 $quoteItem = $observer->getQuoteItem(); $quote_item_id = $quoteItem->getItemId(); $cart = Mage::getSingleton('checkout/session'); $quote_id= $cart->getQuoteId(); カートにアイテムがない場合、上記は両方のIDに対して空を返します。カートにすでにアイテムが含まれている場合、カートIDには値がありますが、quote_item_idにはありません。 これは以前に尋ねられたことがあるが、質問は解決されておらず、議論はこの問題からはずれていることに注意してください。quote_item_idが必要です。


4
製品属性を結合するためのベストプラクティス
製品リファレンスを含むカスタムテーブルがありますproduct_id。次に、バックエンドグリッドに製品情報(SKU、名前)を表示したいのですが、これを行うためのベストプラクティスが何なのかわかりません。 SKU次のように私の推測は次のとおりです。 $collection->join( 'catalog/product', 'product_id=`catalog/product`.entity_id', array('product_sku' => 'sku') ) ( 私のグリッドブロッククラスのメソッドからのコード_prepareCollection() ) しかし、製品名はどうですか?これは、catalog_product_entity_varcharにあります。私の理解では、独自のリソースモデルとコレクションがベースになってMage_Eav_Model_Entity_Collection_Abstractいる場合は、のようなメソッドを使用できるため、簡単に入手できますjoinAttribute。しかし、私のモデルは単純なテーブルに基づいており、そこから拡張されてMage_Core_Model_Resource_Db_Collection_Abstractおり、joinAttribute利用できる方法はありません。 この場合、製品名を取得する最良の方法は何ですか? あなたの時間と助けをありがとう:-) 更新: より正確には、リソースモデルとコレクションについて話していました。次のようないくつかの属性を持つ単純なフラットテーブルと一致します。 entity_id product_id created_at user_id 私の意図は、いくつかの統計を表示するバックエンドにグリッドを配置することです。 ProductSku Count(ProductSku) MAX(created_at) 私の知る限り、これを行うための最善の方法は、グリッドブロッククラスを使用することであり、実行するメソッドは_prepareCollection()です。 私の方法は次のようになります: protected function _prepareCollection() { // Get and set our collection for the grid $collection = Mage::getResourceModel($this->_getCollectionClass()); $collection ->join( 'catalog/product', 'product_id=`catalog/product`.entity_id', array('product_sku' => 'sku') …

4
注文のステータスを完了に強制する
次のステータスを必要とするカスタムモジュールを使用しています: "complete"(ioncubeを使用しているため、モジュールを変更できません) また、ステータスオプション「完了」を提供しない支払いシステムを使用しています。 だから私の質問は:注文を強制的にステータス完了にするにはどうすればよいですか? PS:これは機能しません: $order = Mage::getSingleton('sales/order'); $order->loadByIncrementId('12345'); $order->setState(Mage_Sales_Model_Order::STATE_COMPLETE, true); $order->save();

3
MagentoパフォーマンスイメージとCDNの静的
Magentoの速度の改善について調査中です。現在表示されているのは、次の設定でページが飛ぶことです。画像のみが後から来ます。メインファイルは数ミリ秒で配信されますが、画像のため、読み込み時間は2秒のままです。 メイジキャッシング css / jsをマージ apc + memcacheを縮小 htaccessの微調整 tmpfsのセッション/キャッシュ 私の質問:(自分のサーバーで)CDNをセットアップする手順は何ですか? (そしてそれは実際に役立ちますか) 私はそれがこのようなものであることを理解しています(しかしこれはまったく機能していません): cdnサブドメインを作成する ドキュメントルートを変更する(および/またはcnameを設定する理由) 設定を変更

3
ページの種類とページを決定する
私は毎日Magentoに厳密に取り組んでいる新しい仕事をしています。私はMagentoを使用した経験がありませんので、これまで控えめに言っても難しい課題でした。 作成している拡張機能について簡単に説明します。 これにより、ポップアップ/モーダルウィンドウを表示できます。モーダルのHTMLコンテンツは 、Static Block 管理ページ したがって、管理パネルはNEW TABの下の新しいタブで構成されますSystem/Confuration/ 管理パネルでは、新しいタブページのドロップダウンリストでStatic Block、これらのセクションに使用するデフォルトを選択できます... HOME PAGEまたは HOME PAGE w/Items in Shopping Cart ALL CATEGORY PAGESまたは ALL CATEGORY PAGES w/Items in Shopping Cart ALL PRODUCTS PAGESまたは ALL PRODUCTS PAGES w/Items in Shopping Cart ALL CMS PAGESまたは ALL CMS PAGES w/Items in Shopping Cart SHOPPING CART …

4
composerによってインストールされたMagentoモジュールのシンボリックリンクを無視する方法
を使用してモジュールをインストールしますcomposer.phar。 これによりpublichtml/app/code/community、たとえばをターゲットとするシンボリックリンクファイルが作成されvendor/themodule...ます。 私.gitignoreはベンダーディレクトリを除外しましたが、リンクはもちろんgitに残ります。 それらのリンクを自動的に除外する簡単な方法はありますか?(すべてを手動で.gitignoreに追加する以外) 私はrequire-dev最終的なサーバーで終わるべきではないいくつかのモジュールを持っていると言わなければなりません-したがって、それらのリンクがあることは少なくともそれほど良くないでしょう。
11 composer  git 

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