Magento

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

1
Magento 2のアップグレード/セットアップスクリプトの順序をどのように制御しますか?
私はMagento 2のコードベースを調査していて、セットアップバージョン間でアップグレードセットアップクラスを実行する順序を制御する方法を理解しようとしています。まだ、行き詰まっています。掘り下げた限り、モジュール内のスキーマ/データのアップグレードの順序を制御する方法を見つけることができませんでした。 少しコンテキストを与えるために、モジュールをリリースするとします。残業はアップデートをリリースします。次のファイル構造があるとします。 Setup/InstallPostSchema.php Setup/CreateAuthorsTableSchema.php Setup/AddAuthorIdColumnToPostSchema.php この場合、私はSetup/CreateAuthorsTableSchema.php前に実行したいと思いSetup/AddAuthorIdColumnToPostSchema.phpます。 私の質問は、それをどのように/どのように扱うべきですか? Magento 1.xでは、ファイルの命名規則によってこれが処理さupgrade-1.0.0-1.1.0.phpれます。 LaravelやRailsなどのフレームワーク(および他のユーザーも確信している)では、タイムスタンプアプローチを使用しています。ただし、移行テーブルもあり、これまでに実行された各移行を確認できます。また、簡単にロールバックできます。 更新 Magento/Customerモジュール内で自分でバージョン管理を行う例を見つけました: public function upgrade(SchemaSetupInterface $setup, ModuleContextInterface $context) { $setup->startSetup(); if (version_compare($context->getVersion(), '2.0.0.1') < 0) { // Changes here. } if (version_compare($context->getVersion(), '2.0.1', '<')) { // Changes here } $setup->endSetup(); }
7 magento2 

2
{{depend}}でCMS静的ブロック内の変数を使用する
私はメールテンプレートを使用する前に{{depend}}テンプレート機能を使用しましたが、これがCMSスタティックブロック内で可能かどうか疑問に思っています。次に例を示します。 <a href="{{store url='customer/account'}}">Login/Account</a> 次のように更新できます: <a href="{{store url='customer/account'}}"> {{depend loggedIn}}Account{{/depend}} {{depend loggedOut}}Login{{/depend}} </a> これは、依存関係の機能を維持しながら、CMSブロック内でこれらを更新するオプションを顧客に許可するのに役立ちます。 明らかに、この依存関係は、メールテンプレートが以下を使用して達成するブロック自体で使用可能な変数に依存します(これは、書き換えによりcmsブロック/モデルに適用できます)。 public function setTemplateParams(array $templateParams) { return $this->setData('template_params', $templateParams); } ブロック内で使用されているテンプレート言語がこの情報にアクセスする方法がわからない{{depend}}ので、ブロックにタグを追加すると、プレーンテキストとして出力されます。HTMLがレンダリングされる前にコンパイル手順が適用されていると思いますが、続行方法について正しい方向に微調整すると非常に役立ちます。



3
プラグインを使用せずにmagentoのドロップダウンメニューに画像を表示する方法[終了]
閉まっている。この質問はトピックから外れています。現在、回答を受け付けていません。 この質問を改善してみませんか? Magento Stack Exchangeのトピックとなるように質問を更新してください。 4年前休業。 Magentoでは、カテゴリとサブカテゴリを追加しました。これらは、私のWebサイトのホームページに表示されます。 今、私はそれぞれの画像と共にサブカテゴリを表示したいと思います。しかし、Magentoが提供する拡張機能は使用したくありません。 以下のスナップショットは、ドロップダウンメニューの外観を示していますが、それぞれのカテゴリに画像を追加したいと思います。 これは、renderer.phtml app / design / frontend / rwd / default / template / page / html / topmenuに追加したコードです <?php $html = ''; $children = $menuTree->getChildren(); $parentLevel = $menuTree->getLevel(); $childLevel = is_null($parentLevel) ? 0 : $parentLevel + 1; $counter = 1; $childrenCount …


1
magentoが色見本を作成するためにユニバースからすべてのラベルをロードする必要があるのはなぜですか?
23kの可能なカラー値を持つストアで作業しています。ただし、すべての製品で使用されているわけではありません。 これで、ネイティブスウォッチを含む1.9.2.1に取り組んでいるので、製品ページのロードに3分かかることがわかります。 それは理由だ_loadOptionLabelsの方法Mage_ConfigurableSwatches_Model_Resource_Catalog_Product_Attribute_Super_Collection負荷のすべての23K色ごとに単一の製品ページがロードされていること、。 誰かが同じ問題を経験しましたか、それを最適化する方法を推測していますか? また、未使用のオプション値をすべてクリーンアップしようとしましたが、それでもロードしてResource_Iteratorを使用してforeachを高速化するのに非常に時間がかかりましたが、機能しませんでした。問題は大きなクエリです。

3
フロントエンドで選択したドロップダウン属性を取得しますか?
この方法ですべてのドロップダウン属性値を取得しました <select class=" required-entry required-entry select" name="product[age]" id="age"> <?php $attributeId = Mage::getResourceModel('eav/entity_attribute')->getIdByCode('catalog_product','age'); $attribute = Mage::getModel('catalog/resource_eav_attribute')->load($attributeId); $attributeOptions = $attribute->getSource()->getAllOptions(); foreach($attributeOptions as $each){?> <option value="<?php echo $each[value]?>"><?php echo $each["label"]?></option><?php } }?> </select> ここ属性Id =年齢。今、私はすでに選択されるべきであるいくつかの値をデータベースに保存しています このおかげで事前に私を助けてください また、私はこのコードで使用しました <select class=" required-entry required-entry select" name="product[age]" id="age"> <?php $productId = $this->getProduct()->getId(); $product = Mage::getModel('catalog/product')->setStoreId(Mage::app()->getStore()->getId())->load($productId); $selectedvalue = …

1
Lesti FPC、Redis、Magentoマルチストア。1つのストアのみのキャッシュをクリアする方法は?
いくつかのストアがあるMagento 1.9.2で、セッションキャッシュとバックエンドキャッシュを含む最新のRedisでLesti FPCを正常にセットアップしました。すべてが本当にうまく機能しています。 私の質問は、可能であれば、特定のストアのキャッシュをクリアする方法を教えてください。必要に応じて、ssh経由でredis-cliにアクセスできます。 問題は、Magentoでキャッシュをフラッシュすると、すべてのストアのキャッシュがクリアされることです。


2
AWSでのMagento Redisのセットアップ
次の設定があります。 Magentoコミュニティ1.9.2 1 x Ec2フロントエンド、Litespeedウェブサーバーを実行、phpはLitespeedのPhp実装を介して実行-LSPHP、Nginxで使用されるfast-cgiのようなもの データベース用の1 x RDSサーバー Elasticache(Redisノード)を1つ構成しました セッションとバックエンドキャッシュをRedisデータベースに送信するようにlocal.xmlを構成しました。 キャッシュストアがいっぱいになっていることがわかります。さらに、速度の違いが顕著です(さらに、キャッシュおよびセッションフォルダーにファイルがありません) 私の3つの質問は次のとおりです。 PHPのフロントエンドWebサーバーにphp-Redis拡張機能をインストールする必要がありますか?(それがすべて機能していることを考慮して)私はそれが何に使用されているのか理解できないようです? どのくらいのスペースが必要になるかを知る方法はありますか?ファイルストアキャッシュは50 MB未満でしたが、redisキャッシュはすでに300 MB使用されています 店がいっぱいになるとどうなりますか?古いセッションキャッシュは削除されますか?または、サイトでフロントエンドに問題が発生し始めますか(カートが空になるなど)。

2
AccountControllerオーバーライドが新しいアクションで機能せず、302リダイレクトを行う
アドオンnew actionしてみますAccountController 今:AccountControllerは適切にオーバーライドされます しかしいつでも hit new Action (ajaxLoginPostAction) is redirect to 302. preDispatch()関数のオープンアクションとしてajaxLoginPost()を追加しますが、till is not works. ここに config.xml: <?xml version="1.0" encoding="UTF-8"?> <!-- @author Amit Bera --> <config> <modules> <Bluehorse_Ajaxlogin> <version>1.0.0</version> </Bluehorse_Ajaxlogin> </modules> <!-- rewrite Accont Controller --> <frontend> <routers> <customer> <args> <modules> <ajaxlogin before="Mage_Customer">Bluehorse_Ajaxlogin</ajaxlogin> </modules> </args> </customer> </routers> <layout> <updates> …

1
未確認の顧客をCSVインポートでインポートする方法は?
CSVインポートで顧客をインポートしようとしています: System > Import/Export > Import > Customers > Append Complex Data インポート後「未確認」のお客様をインポートしたいのですが。 注:これを有効にするには、設定System > Configuration > Customer Configuration > Create New Account Options > Require Emails Confirmationを「はい」に有効にする必要があります。 バックエンドの確認フィールドの値は次のとおりです。 <select id="_accountconfirmation" class=" select" name="account[confirmation]"> <option value="">Confirmed</option> <option selected="selected" value="HASH_VALUE">Not confirmed</option> </select> 私のCSVには、さまざまな値(空、0、1、乱数など)に設定した確認フィールドが含まれていますが、インポートが完了すると、顧客は常に「確認」されます。
7 customer  import  csv 

3
Magento 2でバックエンドテンプレートファイルを拡張する方法
Magento 2でバックエンドテンプレートファイルを拡張する方法が見つかりませんでしたが、ここからフロントエンドテンプレートファイルを拡張する方法を見つけました。ファイルを拡張すると、design/adminhtml/Magento/backendMagentoのアップグレードバージョンで上書きされる可能性があります。そこでdesign/adminhtml/vendor/backend、モジュール固有のフォルダーに書き込みたいと思います。しかし、必要なphtmlファイルを配置してこれを試しましたが、デフォルトのmagentoパスから取得したパスからは表示されません。 C:\ xampp \ htdocs \ NewMagento2 \ app \ design \ adminhtml \ vendor \ backend \ Magento_Customer \ layout \ customer_form.xml <?xml version="1.0"?> <!-- /** * Copyright © 2015 Magento. All rights reserved. * See COPYING.txt for license details. */ --> <page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../../lib/internal/Magento/Framework/View/Layout/etc/page_configuration.xsd"> <body> <referenceBlock name="form"> …

2
Magentoを本番環境から開発環境に移行する方法
私は友人から彼のMagentoサイトを開発するように求めてきました。彼のサイトはすでに稼働しています。そして、彼は私に彼のMagentoサイトをホストしているサーバーへのアクセスを与えようとしています。 いくつかの新機能を開発するために、彼の実行中のMagentoを開発環境に何らかの形で複製する必要があります。 通常、私はすべてのMagentoインスタンスをAmazon AWSでホストし、インスタンスのクローンを作成してから、開発用に別のインスタンスを起動します。AWSでそれを行うのは簡単です... 誰かが私を助けることができるガイドラインをここに持っていますか?実行中のMagentoを開発環境に複製する方法を教えているブログがあるかもしれません。 君たちありがとう。ここで私はケースをより明確にしましょう: コードはバージョン管理されていますか? - 番号 Magentoサイトに変更はありますか? - 多分 サードパーティのモジュールを使用していますか?-確かにそうです。 データベースのバックアップを作成する方法を知っていますか?-私はデータベースへのフルアクセスがあり、バックアップを作成できます。

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