Magento

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

2
拡張機能の管理ルーティング互換モード:有効にするか無効にするか?
ストアを最新のMagento CE 1.9.2.2ソフトウェアバージョンに更新しました(パッチSUPEE-6788ではなく、Magento Downloaderを使用して完全なコア更新を行いました)。 更新後、私は行きました System > Configuration > Advanced > Admin > Security そして、Admin routing compatibility mode for extensionsオプションが有効に設定されていることを発見しました。 ただし、「有効/無効」セレクタのすぐ下には、短い説明があります この設定を有効にすると、管理機能に対する自動攻撃のリスクが高まります。 この設定を変更する必要があるかどうかわからなかったので、MagentoのWebサイトにアクセスすると、 デフォルト以外の管理URLを自動化された攻撃から保護するには、構成のルーティング互換モードを変更して、パッチを有効にする必要があります。[システム]> [構成]> [管理]> [セキュリティ]の[管理ルーティング互換モードを有効にする]を使用します。 バイトの人々は言う 最後に、セキュリティを強化するために、ここで「互換モード」を無効にします。 System > Config > Admin > Security > Admin routing compatibility mode for extensions そして、有効モードのオプションを示すスクリーンショットを表示します。 私はこれらすべてが非常に混乱しているので、私の質問は、このオプションのどのモードが最もセキュリティを提供するのですか? 設定を保存した後、セレクターに「有効」または「無効」を表示する必要がありますか?

2
Magento 2で拡張属性はどのように機能しますか?
ドキュメントが何を言っているのかわかりません。 それらを使用して属性を(複雑であるかどうかに関係なく)追加するために使用されていることを知ってetc/extension_attributes.xmlおり、コンパイルプロセスで自動生成のカスタムメソッドを使用してインターフェイスを作成できましたが、それはそれだけです。 いくつかのインターフェースを例にとってみましょう:github link 1とgithub link 2。拡張属性を使用して、これらのインターフェースの1つに特定の属性を追加するにはどうすればよいですか?複雑な結合には興味がありません。スカラー属性を追加するだけで、タイプの「attr1」と言いますstring。 Data私はこれらのインタフェースの拡張が適切にシステムを利用するためにはどのように機能するかを理解する必要があるので、インタフェースは、モデルのERM ...データへのゲートウェイです。私は頻繁Dataに、実際のモデルの代わりにパラメーターとしてインターフェースを取得しますが、それは実際には問題ありません。しかし、私は拡張機能がどのように機能するかについて少し混乱しています。

1
異なるサブ数量レベルの製品
現在これを解決して、それがデフォルトのmagentoではないことを理解しようとしています。 製品(Red Shoe)があり、製品のさまざまな値の数量を記録する必要がある 赤い靴はで構成されています: 2つの赤い革、3つの白い布 そして、次のものを持つ別の製品: 白い靴 白革2、白布3 したがって、各製品を1つ注文すると、レッドレザー2個、ホワイトレザー2個、ホワイトクロス6個の在庫が必要になります。 magentoは注文ごとに1アイテムの在庫を購入することを理解していますが、上記の方法はありますか?

1
Magento2:静的ブロックでテーマ画像を呼び出す方法
Magento2をインストールして静的ブロックを作成しましたが、静的ブロックでテーマ画像を呼び出すにはどうすればよいですか?Magento1.xではを使用しました{{skin url="images/demo.jpg"}}。 誰もがのようなエディターを使用せずにStaticブロックで画像を呼び出す方法についてのアイデアを持ってい{{media url="wysiwyg/demo.jpg"}}ます。


1
Magento 2 URLセグメントの解析はどこで行われますか
Magento 2ルーティングでは、システムはURLセグメントを3つのセクションに解析します module-or-front/segment2/segment3 これはどの特定のクラスファイルで発生しますか? 言い換えると、リクエストオブジェクトにはgetModuleName次のようなメソッドがあります。 public function getModuleName() { return $this->module; } Magento 2は、最終的にmoduleプロパティを設定する文字列をどこで取得しますか?
7 php  module  magento2  mvc 

1
現在オンラインの管理者ユーザーをすべてリストするにはどうすればよいですか?
Magentoでは、さまざまな役割を持つ複数の管理者を作成しました。オンライン管理ユーザーのリストを取得するにはどうすればよいですか。オンラインの顧客リストに似ていますか? 利用した Mage::getSingleton('admin/session') しかし、これは現在のユーザーの詳細のみを提供しています。 組み込み関数はありますか?そうでない場合、同様のものを作成するにはどうすればよいですか?

1
Magento 2-サンプルモジュールに空白のページが表示される
Magento 2バージョンbeta-1.0.0を使用して、シンプルな新しいカスタムモジュールを作成しようとしています。カスタムモジュールは機能しますが、本文のコンテンツに空白のページが表示されます。 モジュールは以下のように行われます。 フォルダ構造:こんにちは -app -code -Magento -Hello -Block --Hello.php -Controller -Index --Index.php -etc --module.xml -frontend --routes.xml -view -frontend -layout --hello_index_index.xml -templates --hello.phtml ファイルは以下の通りです。 (1)app / code / Magento / Hello / etc / module.xml <?xml version="1.0" ?> <config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../lib/internal/Magento/Framework/Module/etc/module.xsd"> <module name="Magento_Hello" setup_version="0.0.1"/> </config> (2)app / code / Magento …

1
HTMLキャッシュとサブカテゴリの表示をブロックします
そのため、ストアを1.9.2.1に移動しました。BlocksHTMLキャッシュを除いて、すべてが正常に見えます。 私はこれをできる限り説明しようとします。 静的ブロックを使用してスクリプトを呼び出し、親カテゴリ内のサブカテゴリを表示する一般的な設定があります。 このチュートリアルに似たもの それは何の問題もなく常に機能しています...私がアップグレードするまで。私が目にしている問題は、この静的ブロックスクリプトを使用してサブカテゴリを表示するカテゴリページが失敗し、これらのすべてのカテゴリが同じキャッシュされたサブカテゴリページを表示することです。再キャッシュせずに、これらのすべてのページに同じコンテンツを提供するだけのようなものです。つまり、サブカテゴリスクリプトを使用するすべてのカテゴリには、正しくないサブカテゴリのキャッシュされたレイアウトが表示されるため、顧客はサイトの正しいレイヤーに移動できません。 Mageクリーンアップスクリプトを実行して、奇妙なアクセス許可の問題をリセットしましたが、役に立ちません。お客様が実際にサイトを閲覧できるようにするための一時的な修正として、問題をすぐに修正するBlocks HTMLキャッシュを無効にしました。したがって、明らかに問題は、キャッシュがコンテンツを正しく提供していないか、実際には再キャッシュが必要であることを認識していることです。これを修正するにはどうすればよいですか?個々の製品をリストしない親カテゴリー内のサブカテゴリーを提供するより効率的な方法はありますか? これがサブグリッドを素敵なグリッドに表示するために使用しているコードです(Pastbin): <div class='category-grid'> <?php if($_collectionSize): $i=0; $layer = Mage::getSingleton('catalog/layer'); ?> <ul class="products-grid"> <?php foreach ($_categories as $_category): $layer->setCurrentCategory($_category); $_category = Mage::getModel('catalog/category')->load($_category->getId()); $products = Mage::getModel('catalog/product')->getCollection() ->addCategoryFilter($_category) ->addAttributeToSort('price', 'asc') ->setPageSize(1) ->load(); $prod = $products->getFirstItem(); $lowestProductPrice = $taxHelper->getPrice($prod, $prod->getPrice(), true, null, null, null, null, false); $formattedPrice …


1
Magento 2カスタムのルートハンドラーなし
次のコードを使用して、カスタムのルートなしハンドラを追加しました <?xml version="0.1"?> <config> <type name="Magento\Framework\App\Router\NoRouteHandlerList"> <arguments> <argument name="handlerClassesList" xsi:type="array"> <item name="hello" xsi:type="array"> <item name="class" xsi:type="string">Smartie\HelloRouter\App\Router\NoRouteHandler</item> <item name="sortOrder" xsi:type="string">10</item> </item> </argument> </arguments> </type> </config> ハンドラーを追加して、それを証明しました。 <?php namespace Smartie\HelloRouter\App\Router; class NoRouteHandler implements \Magento\Framework\App\Router\NoRouteHandlerInterface { public function process(\Magento\Framework\App\RequestInterface $request) { die('woop'); } } しかし、私が気付いたことは、プロセス関数でfalseを返すと、フロントコントローラーが100ルーターの一致反復に達したことです。NoRouteHandlerListを確認した後、新しいno routeハンドラーを追加することで、実際には既に追加されているすべてのno routeハンドラー(デフォルトのハンドラー)が置き換えられたようです。なぜでしょうか。 新しいルーターを追加する次の同様のコードは、新しいルーターをリストに追加する効果があります <type name="Magento\Framework\App\RouterList"> <arguments> <argument name="routerList" …
7 magento2 

4
Magento2:フォームを表示するための管理モジュール画像アップロードコード
画像アップロード機能を備えたmagento2 adminカスタムモジュールがあります。管理者から画像をアップロードしたい。from、アップロード画像、編集アクションでの画像表示の表示画像フィールドに適用するコード。 ありがとう ファイルパス : app\code\[Vendor]\[Module]\Block\Adminhtml\Emp\Edit\Tab\Main.php /** * Prepare form * * @return $this * @SuppressWarnings(PHPMD.ExcessiveMethodLength) */ protected function _prepareForm() { $model = $this->_coreRegistry->registry('emp_post'); $isElementDisabled = false; /** @var \Magento\Framework\Data\Form $form */ $form = $this->_formFactory->create(); $form->setHtmlIdPrefix('page_'); $fieldset = $form->addFieldset('base_fieldset', ['legend' => __('Employee Information')]); if ($model->getId()) { $fieldset->addField('customer_id', 'hidden', ['name' => …

2
Firefoxで製品画像のアップロード(Flash)が機能しない
Flashを使用した画像のアップロードがFirefoxで機能しません。同じシステムのIEとChromeで動作します。 通常のエラー「ssl error invalid or self-signed certificate」が表示されます。Fiddlerでデバッグしようとしましたが、まったくリクエストが行われないか、HTTP CONNECTが表示されますが、データが送信されません。 さまざまなサイト(すべてMagento 1.9+(1つは1.9.2.1))で、さまざまな証明書(StartSSLとComodoから)を試してみました。問題は、Firefox 40および41.0b8、OS XおよびWindowsのすべてにあります。Flash Playerのバージョンは、すべてのデバイスで「18.0.0.232」です。 このすべてのデバイスで、アップロードはChromeおよびIE / Safariで動作します。 QualysのSSLのテストは、すべてのサイトのためにAまたはA +を与えます。

1
Magento 2:カスタムコントローラーがインターセプターを生成するのはなぜですか?
最近、テストモジュールの基本的なルーティング構成を作成しました <config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../../../../lib/internal/Magento/Framework/App/etc/routes.xsd"> <router id="standard"> <route id="helloworld" frontName="helloworld"> <module name="Pulsestorm_Helloworld" /> </route> </router> </config> でコントローラファイルを作成しました app/code/Pulsestorm/Helloworld/Controller/Index/Index.php すべてが期待どおりに動作しますが、Magentoが新しいコントローラーのインターセプターを自動的に作成したことを知って驚きました。 var/generation/Pulsestorm/Helloworld/Controller/Index/Index/Interceptor.php コントローラーのプラグインを構成しなかったため、Magentoがインターセプターを生成した理由について少し混乱しました。 Magento 2が新しいコントローラーのインターセプターを自動的に作成するのはなぜですか?

2
プログラムで画像を製品に追加するときのSQLエラー
プログラムで製品を更新してから、それらに画像を追加する $ product-> addImageToMediaGallery($ file、array(<flags>)、true、false); 一部の製品ではこれで十分に機能し、他の製品ではそれが私に与える SQLSTATE[23000]: Integrity constraint violation: 1452 Cannot add or update a child row: a foreign key constraint fails (`db11057204-walthermagestaging`.`catalog_product_entity_media_gallery_value`, CONSTRAINT `FK_CAT_PRD_ENTT_MDA_GLR_VAL_VAL_ID_CAT_PRD_ENTT_MDA_GLR_VAL_ID` FOREIGN KEY (`value_id`) REFERENCES `c), query was: INSERT INTO `catalog_product_entity_media_gallery_value` (`value_id`, `store_id`, `label`, `position`, `disabled`) VALUES (?, ?, ?, ?, ?) まだパターンを決定できていません。 外部キー制約が失敗することを示していますが、エラーメッセージでは、FKのターゲットが最初の文字の後に切り取られているため、手がかりがありません。どこを見ますか?何をすべきか? 編集 …

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