Magento

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

3
「さらに追加」ボタンをmagento構成に動的に追加
管理パネルの設定から動的にメニュー項目を追加できるモジュールを作成しました。このため、「さらに追加」ボタンを使用して動的フィールドを追加しました。 完璧に動作し、私が作成したメニューがトップメニューに表示されています。次に、そのメニュー項目にサブメニューを追加します。 画像で確認できます。 私のフォームフィールドブロックにこのコードがあります public function __construct() { $this->addColumn('menutitle', array( 'label' => Mage::helper('adminhtml')->__('Menu Title'), 'style' => 'width:120px', 'class' => 'input-text required-entry' )); $this->addColumn('link', array( 'label' => Mage::helper('adminhtml')->__('Link'), 'style' => 'width:220px', 'class' => 'input-text required-entry' )); $this->addColumn('order', array( 'label' => Mage::helper('adminhtml')->__('Order'), 'style' => 'width:40px', 'class' => 'required-entry input-text validate-number' )); $this->_addAfter …

3
在庫のある製品のみを含む製品コレクションを取得する
これには簡単な答えがあるかもしれませんが、私はそれを見つけることができません。有効になっているが在庫がない商品を除いて、商品コレクションを取得しようとしています。 次の方法を試しましたが、これによりエラーが発生します。 $productIds = array('3','4','9'); $productCollection = Mage::getResourceModel('catalog/product_collection') ->addAttributeToSelect( array('name', 'image', 'price') ) ->addIdFilter($productIds) ; $this->_productCollection = Mage::getSingleton('cataloginventory/stock') ->addInStockFilterToCollection( $productCollection ) ; 次のエラーが発生します。 PHP Fatal error: Call to a member function getTypeInstance() on a non-object in app/code/core/Mage/Catalog/Block/Product/Abstract.php on line 117 app / code / core / Mage / Catalog / …


1
カスタム/ catalogsearch /フィルター
私はMagentoで合計n00bです。知っておく必要があるのは、(記録的な時間で)aを維持する必要があるため、Magentoで実現する方法についての「一般的な慣習」または「標準」です。 Magentoディストリビューション(おそらく、以前の開発者が私が尋ねることを行うための汚い方法を作成しましたが、標準的な方法がわからない場合、汚い方法を推測する機会はさらに少なくなります)以下で説明するように、あなたが釘を打つことを期待していませんが、いくつかのガイダンスを教えてください。 どれどれ... 標準の検索クエリを/index.php/catalogsearch/result/?q=に送信すると、多くの「状態」に存在しない製品が見つかりました。「状態」とは、「estado」属性(製品のカスタム属性)の可能な個別の値を意味します。 私が見ることができるように、「estado」の特定の値を持つ製品は結果に表示されません(Visibilityが検索結果にそれらの製品を含めるように設定されている場合でも)。 質問:(検索クエリから取得した)製品リストに使用するカスタムフィルターを設定して、特定の状態の製品のみを保持できる場所はありますか?それに関してMagentoは標準で何をサポートしていますか? 「場所」の意味は、管理バックエンドのオプション、または最後のオプションとして、コード、イベント、コールバック、フック、インターセプター、ミドルウェアなどです(私はn00bなので、本当のことはわかりません)これらのケースでは、magentoで使用される用語がクエリをインターセプトするために使用されます。 注:app / design / frontend / caramel / template / catalog / product / list.phtmlでは、反復前の最初の行は次のとおりです。 <?php $_productCollection=$this->getLoadedProductCollection(); $_helper = $this->helper('catalog/output'); ?> <?php if(!$_productCollection->count()): ?> <p class="note-msg"><?php echo $this->__('There are no products matching the selection.') ?></p> <p>No encontraste lo que buscabas, <a href="<?php $_SERVER['HTTP_HOST']?>/index.php/pidenos?tipo=pidenos">pídenos</a> …

3
Magento urlキーには、システムMagento 1.7.0.2によって追加された奇妙な番号があります
私はMagentoストア(1.7.0.2バージョン)で何が起こっているのかを理解するために毛を抜いてきました。80%のURLキーには、2つの異なる形式の奇数が追加されます。いくつかはこのようなhttp://www.example.com/product-name-2886-351.htmlのようなもので、私の服のスタイル番号の後に割り当てられたランダムな番号ですが、これらのランダムに割り当てられた番号はシステムによって追加された後も変わりません。 奇妙な数字が含まれる別のバージョンのURLは、http : //www.example.com/product-name-2926.htmlのようになります。スタイル番号「2926」がシステムによって割り当てられていることに注意してください。「2886」は、本製品追加時にURLキー欄に入力されたものです。 一部のSEOの人々は、url_rewriteテーブルを切り捨てずにCSVを何度もアップロードしたため、製品の複製バージョンが作成されたと言っています。Magentoが製品を差別化するためにこれを行うのはそのためです。初期段階で何度もCSVをアップロードしてきましたが、影響のない商品もございます。私はまったく技術的ではありません。私はこれらすべてに非常に混乱していますが、これがここで起こっている理由であるとはまったく信じていません。 いくつかのスレッドを読んだ後、私はそこに本当の専門家がいることを知っています。手伝ってくれませんか?Magento 1.8にアップグレードすると、この問題は解消されますか?

6
Magento:カスタムのお問い合わせフォームにキャプチャを追加する
Magentoのウェブサイトで新しいカスタム連絡先フォームを作成しました。その最後にキャプチャを追加しようとしています。 app / code / core / Mage / Captcha / etc / config.xmlに追加しました <customcontacts> <label>Custom Contact Form</label> </customcontacts> そしてapp / design / frontend / base / default / layout / captcha.xmlに追加しました <customcontacts> <reference name="customcontacts"> <block type="core/text_list" name="form.additional.info"> <block type="captcha/captcha" name="captcha"> <reference name="head"> <action method="addJs"><file>mage/captcha.js</file></action> </reference> <action method="setFormId"><formId>customcontacts</formId></action> <action method="setImgWidth"><width>230</width></action> …

2
断続的なログインの問題を引き起こす2つのフロントエンドCookie
このサイトではMagento CE 1.7.0.2を実行しています。 ログインに関する問題が報告されています。私はこれを自分でSafariでのみ複製できました(まだ正確な複製手順がわかりません)。 どういうわけか、2つのフロントエンドCookieが生成されました(これは問題ではありません)。 frontend fs66qk6lbfjriuf873mrbdk199 .www.foobar.com / 8 March 2014 4:34:40 pm AEDT 34 B frontend fs66qk6lbfjriuf873mrbdk199 www.foobar.com / 8 March 2014 4:34:40 pm AEDT 34 B 上記は問題なく、上記のCookieを使用してフロントエンドにログインできます。ただし、Cookieは次のようになります。 frontend deleted .www.foobar.com / 8 March 2014 4:34:40 pm AEDT 34 B frontend fs66qk6lbfjriuf873mrbdk199 www.foobar.com / 8 March 2014 4:34:40 …

3
フィルターに基づいてカテゴリーのレイアウトを動的に変更する
あらすじ 私が取り組んでいるMagentoストアによって、グループ化された製品と関連する単純な製品を使用するように構成されているという問題があります。これらの製品は、管理者で設定された製品の属性/値でフィルタリングできます。 現在の行動 単純な製品の可視性は、「個別に非表示」に設定されています。 検索された単純な製品は、グループ製品ごとに表示されます。 エンドユーザーが製品の結果を色(たとえば、red)でフィルターすると、グループ化された製品で、赤の色の属性値を持つ単純な関連製品が表示されます。 予想される動作(カスタマイズ後) 単純な製品の可視性は、「個別に非表示」に設定されています。 検索された単純な製品は、グループ製品ごとに表示されます。 エンドユーザーが製品の結果を色(のみ)でフィルターすると、グループ化された製品が表示される代わりに、その単純な製品が表示されます。 私のロジックは-リクエストパラメーターを通してフィルターを検出することができました。カラーフィルターが設定されている場合、製品の結果を何とか上書きします。 どういう意味かというと、これが簡単な問題の解決に苦労している部分です。この問題を解決するにはどうすればよいですか? 結論/試み 以下は、私が問題を完全に解決しないか、まったく問題を解決しないことを見つけるために私が考え、試した試みのリストです。 を観察してくださいcatalog_controller_category_init_before: この_initCategory()方法を確認したところ、レイアウトをオーバーライドして、グループ化された製品ではなく単純な製品を表示するようにMagentoの構成を変更できる可能性があると考えました。 しかし、それ$this->loadLayout()は決して呼び出されないように見えるので、getLayoutまたは自体のviewActionメソッドをオーバーライドする必要がありCategoryControllerます。 レイアウトの変更を実装するには、CategoryControllerを明示的にオーバーライドします。 上記を元に戻し、機能をオーバーライドする2番目のオプションを追求することにしました。Mage_Catalog_CategoryControllerコントローラーの拡張から始めます。 私の最初のトライアルはをオーバーライドすることでしたが、loadLayoutこれが呼び出されないことを知った後getLayout、この時点でをオーバーライドすることを決定しました。 をオーバーライドしMage_Catalog_Block_Product_Listます。 私は、モデルとコレクションが必要な実際のブロックを拡張することをお勧めしました。ブロック内でgetProductsListHtmlメソッドをオーバーライドすると、HTML全体が既に解析、実行、生成されていることがすぐにわかります。 だから私は簡単にはできませんでした。 聞いてください$this->getRequest()->getParams()。 グループ化された製品を反復処理して、フィルターに一致する関連製品を取得します。 catalog_product_collection_load_afterイベントを観察します。 今回は、モデルコレクションを観察し、フィルターを設定したときに結果を変更するようにクエストを変更できると思いました。これ$observer->getEvent()->getCollection()により、フィルターに基づいてクエリを取得および更新します。 グループ化された製品を削除できるのでこれは機能しませんが、可視性のために単純な製品は表示されません。

2
カタログ価格ルールの有効期限を取得する方法は?
カタログページで、「N日で期限切れ」というオファーを表示する必要があります。たとえば、各製品が特別価格と日付を個別に定義している場合は簡単に達成できます$this->getProduct()->getSpecialToDate();が、カタログ価格ルールを介して割引を設定した場合、製品には現在適用されている割引やその他の関連データに関する情報がありません。 日付のように使用されている現在の製品割引ルールに関する情報を入手するにはどうすればよいですか。

6
プログラムでeav製品属性を削除する方法
実用的にeavテーブルから商品属性を削除したい。顧客属性を削除するコードを取得していました。 このコードのように、商品属性を削除します。 <?php error_reporting(E_ALL | E_STRICT); $mageFilename = 'app/Mage.php'; require_once $mageFilename; Mage::setIsDeveloperMode(true); umask(0); Mage::app(); Mage::app()->setCurrentStore(Mage::getModel('core/store')->load(Mage_Core_Model_App::ADMIN_STORE_ID)); $setup = new Mage_Eav_Model_Entity_Setup('core_setup'); try { $custAttr = 'user_name'; // here enter your attribute name which you want to remove $setup->removeAttribute('customer', $custAttr); echo $custAttr." attribute is removed"; } catch (Mage_Core_Exception $e) { $this->_fault('data_invalid', $e->getMessage()); } …

1
MagentoのPHP 5.4サポートパッチはどのように役立ちますか?
私はインストール済みでMagento 1.8 Community Edition、PHP version - 5.5.8 オペレーティングシステム:CentOS 6.4 nginx 1.0.15とRedisをキャッシュ用にインストールして設定しました。 そして、Magento 1.8はPHP 5.5.8でうまく機能するようです それで、このパッチを適用するとどのような違いがあるのか​​知りたいのですが? または、このパッチを適用する必要がありますか?

5
Magentoのお客様がメモリリークを保存
私は顧客データを一括で編集しようとしています(数千レコード)。Magentoはスクリプトを実行するために利用可能なメモリを使い果たし続けています。 memory_get_usage()犯人とのいくつかのテストの後、$customer->save()保存ごとに5Mのメモリを使用するように見える方法のようですが、完了時に解放しません。 その結果、数千のレコードをループするときに、メモリが不足しています。 これが私がこれまでに試したことです: $customer->clearInstance() unset($customer) これは助けにはならないようです。 以下は私のコードです: public function createCustomerAddress($customerAddressData, $email){ $customer = Mage::getModel('customer/customer'); $customer->setWebsiteId(Mage::app()->getWebsite()->getId()); $customer->loadByEmail($email); $address = Mage::getModel('customer/address'); $address->addData($customerAddressData); $customer->addAddress($address); unset($address); try{ $customer->save(); }catch (Exception $e){ var_dump($customerAddressData); var_dump($e->getMessage()); } echo "\n" . "Before unsetting \n" . memory_get_usage() . "\n"; $customer->clearInstance(); unset($customer); echo "\n" . "After \n" . memory_get_usage() …

1
パスワード保護
最近、magentoインスタンスをデプロイしましたが、ウェブショップはまだオンラインではないため.htaccess、ウェブサイトにパスワード保護を追加しましたが、実際には問題なく機能しましたが、クライアントが彼の製品の画像をアップロードするときに問題が発生しました。 ログインしたユーザーがページにフルアクセスできるが、パブリックにはアクセスできないように、magento機能自体を使用して、開発目的でストア全体をパスワードで保護する方法はありますか? 私はこのモジュールを見つけましたが、残念ながらmagento 1.8と互換性がないか、インストール方法がわかりません。 手伝ってくれてありがとう!

1
どのようにAPIを使用して製品をバンドルに追加しますか?
既存のDjangoアプリケーションをMagentoストアと統合するシステムを開発しています。このライブラリーを使用して、バンドルタイプの製品を作成し、属性とカテゴリーを期待どおりに作成しました。問題は、APIを使用して(前述のライブラリを介して、またはxmlrpcメソッドを直接呼び出して)、以前に作成したバンドルに製品を追加する方法が見つからないことです。catalog_product.infoメソッドを呼び出しても、バンドルされたオブジェクトに関する有用なものは何も返されません。 オンラインで調査したところ、次のいずれかを含む解決策しか見つかりませんでした。 Magentoコードベースを使用するPHPスクリプト データベースへの直接挿入 現在、これらはどちらも私にとって選択肢ではありません。API(RESTまたはSOAP)だけを使用してこれを実行できることは、非現実的な期待ではありません。

3
Cookie制限モードの変換
最新リリースでは、CE 1.8.1 cookie_restriction_notice_blockはbefore_body_endレイアウト(/app/design/frontend/base/default/layout/page.xml)に含まれています。しかし、ユーザーはその通知についても、Cookieを許可することが期待されていることについても理解していません。 私はこのコードを使用して、テーマのレイアウトファイルで簡単に設定を解除global_cookie_notice blockしbefore_body_endて設定しましafter_body_startたlocal.xml: <reference name="before_body_end"> <action method="unsetChild"><name>global_cookie_notice</name></action> </reference> <reference name="after_body_start"> <block type="page/html_cookieNotice" name="global_cookie_notice" as ="global_cookie_notice" template="page/html/cookienotice.phtml" before="-" /> </reference>` しかし、さまざまなストアビューに合わせて翻訳する方法がわかりません。cookie_restriction_notice_blockさまざまなストアビューの管理()のCMSブロックで通常どおりテキストを変更しても、うまくいきませんでした。 cookie_restriction_notice_blockさまざまなストアビューに翻訳するにはどうすればよいですか?

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