タグ付けされた質問 「magento2」

Magento 2に関する一般的な質問。マイナーバージョンに固有ではありません。このタグを使用してMagento 1と区別します。特定のバージョンに問題がある場合は、代わりに適切な「Magento-2.x」タグを使用してください。Magento 2のマイナーバージョン間の機能は異なる場合があります。

3
SSLがインストールされたチェックアウトとアカウント領域はまだHTTPSではなくHTTPを使用しています
magento 2 ver 2.0.7を実行しています。HTTPSの問題があります。これがなぜ起こっているのかはよくわかりませんが、Stores-> Config-> Webにあります。セキュリティで保護されたベースURLをhttps://mystore.com/に設定していますが、サイトに移動してチェックアウトページとアカウントページに移動すると、HTTPSに切り替わりません。URLはHTTPを使用するだけなので、これを修正する方法はありますか? .htaccessファイル ############################################ ## uncomment these lines for CGI mode ## make sure to specify the correct cgi php binary file name ## it might be /cgi-bin/php-cgi # Action php5-cgi /cgi-bin/php5-cgi # AddHandler php5-cgi .php ############################################ ## GoDaddy specific options # Options -MultiViews ## you …

2
Magento 2:コレクションをウォークスルーして削除する
Magento 2のコレクションを調べ、データベースからエントリを削除する方法があるかどうか疑問に思っていました。 Magento 1では、これは次のようなことで実現できます。 Mage::getModel('foo/bar')->getCollection() ->addFilter('baz', $filter) ->walk('delete') Magento 2で同様のことを達成する方法はありますか?

2
Magento 2:pub / staticファイルへのシンボリックリンク
少し前にMagento 2でプロジェクトに取り組んでいたときにpub/static、私のテーマのCSSファイルとJavaScriptファイルが実際のファイルへのシンボリックリンクであることに気付きました。これはsetup:static-content:deploy、シェルからアクションを実行したときでもありました。 しかし、最近新しいシステムに移行して、プロジェクトのコードとデータベースをチェックアウトしましたが、静的コンテンツをデプロイすると、それらはシンボリックリンクではなくコピーになりました。 何か変わった?または、ここにいくつかの構成設定がありませんか?JSまたはCSSに変更を加えるたびに静的コンテンツを再コンパイルする必要があるのは、それほど生産的ではありません。 Magento 2.0.6を使用しています
8 magento2 

3
ページのタイトルを変更するには?
顧客ログインのページタイトルを変更したい。 ページタイトルを変更する簡単な方法は何ですか? /** * @return $this */ protected function _prepareLayout() { $this->pageConfig->getTitle()->set(__('Customer Login')); return parent::_prepareLayout(); }

3
Magento 2-現在の日付を取得するためのベストプラクティス
updated_atカスタムエンティティの属性を保存し、Magento 2がそれをどのように処理するかを調べたベストプラクティスを知る必要があります。 私は\Magento\Eav\Model\Entity\Attribute\Backend\Time\Updated属性バックエンドモデルクラスを見て、ここにコードがあります: public function beforeSave($object) { $object->setData( $this->getAttribute()->getAttributeCode(), (new \DateTime())->format(\Magento\Framework\Stdlib\DateTime::DATETIME_PHP_FORMAT) ); return $this; } 私の最初の疑問は、どのタイムゾーンが考慮に入れられるかです。 DateTimeコンストラクタのシグネチャは次のとおりです。 public DateTime::__construct ([ string $time = "now" [, DateTimeZone $timezone = NULL ]] ) コンストラクタのドキュメントによると: $ timezoneを省略すると、現在のタイムゾーンが使用されます。 現在のタイムゾーンはサーバーレベルで構成されているタイムゾーンだと思います。 それを証明するには、次のPHPスニペットを実行します。 <?php var_dump(new DateTime()); 期待される結果は次のとおりです。 object(DateTime)#1 (3) { ["date"]=> string(26) "2016-05-10 12:47:11.000000" ["timezone_type"]=> int(3) ["timezone"]=> …

4
Magento 2で子HTMLブロックに変数を渡す
でlist.phtml、他のモジュールから取得した子テンプレートの製品オブジェクトまたは製品IDを取得しようとしています。そのphtmlファイルで製品IDを取得するにはどうすればよいですか? magento 1.xでは、次の方法で可能でした。magento 2.xで使用するとエラーが発生する キャッチされないエラー:メンバー関数setData()の呼び出し 私のカスタムモジュールレイアウト <page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" layout="2columns-left" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd"> <body> <referenceBlock name="category.products.list"> <action method="setTemplate"> <argument name="template" xsi:type="string">PR_Catalog::product/list.phtml</argument> </action> <block class="PR\Catalog\Block\Product\Offers" name="category.products.offers" as="offer_list" template="PR_Catalog::product/offers.phtml" /> </referenceBlock> </body> </page> カスタムモジュールlist.phtmlファイル <?php foreach ($_productCollection as $_product){ ?> <?php $block->getChildBlock("offer_list")->setData("product", $_product); echo $block->getChildHtml('offer_list') ?> <?php } ?> ブロッククラスコードは <?php namespace PR\Catalog\Block\Product; class Offers …



4
静的コンテンツの展開の問題
カスタムテーマを作成しています。チェックアウトページ専用のcssファイルを追加しました。 app / design / frontent / Amit / Customtheme / Magento_Checkout / layout /にあるdefault_head_block.xmlに よるcssファイルの呼び出し <?xml version="1.0"?> <page xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:View/Layout/etc/page_configuration.xsd"> <head> <css src="Magento_Checkout::css/checkoutstyle.css" /> </head> </page> Cssファイルのcheckoutstyle.cssの場所はapp / design / frontent / Amit / Customtheme / Magento_Checkout / web / cssです。 今私がそのCSSファイルを使用して展開しようとすると php bin/magento setup:static-content:deploy 私はこのエラーを受け取ります: Compilation from source: …
8 magento2  css  deploy 


4
プログラムによるブロック引数の設定と取得
レイアウトでは、ブロックを作成するときにカスタム引数を設定できます。次に例を示します。 <block class="Company\Module\Block\Hello" name="block_name" template="test.phtml"> <arguments> <argument name="my_arg" xsi:type="string">testvalue</argument> </arguments> </block> 後でブロック内でこのような引数を取得できます。 $arg = $this->getMyArg(); プログラムでブロックを作成すると(このメソッドに従って:link)、次のようにカスタム引数を設定できます。 $block = $this->frameworkViewLayout ->createBlock( "Company\Module\Block\Hello", "block_name", ['my_arg' => 'testvalue'] ) ->setData('area', 'frontend') ->setTemplate($template) ->toHtml(); ブロックは正しく作成され、完全に機能します。しかし、後でブロックのクラス内の引数を取得する方法がわかりません。私はこのようにしてみました: $arg = $this->getMyArg(); または $arg = $this->getData('my_arg'); しかし、それは何も返しません。私は何を取りこぼしたか?

2
Magento 2のフルページキャッシュが機能しない
Magento CE 2.0.2サイトでFPC(フルページキャッシュ)機能をオンにすると(デフォルトのテーマとカスタムテーマのどちらが実行されていてもかまいません)、このサイトのホームページを開くと、「内部サーバーFirefoxコンソールのエラー500 "、およびページが空白です。 考えられる問題は何でしょうか?

3
カスタム属性画像を取得する
ここにMagento 2の質問: 「bike_range_image」という名前のカスタム属性(メディアタイプ)を作成し、コアでグーグル検索を行い、カスタムサイズなどで画像を取得するためにできることはすべて試しましたが、適切なアプローチを見つけることができません。 私はそれをテキストとして得ることができますが、明らかにそれだけでは不十分なので、これはそれをカットしません: $productImage = $product->getCustomAttribute( 'bike_range_image' ); さて、そこにあるテーマのいくつかの例は私がこれを行うことを示唆しています: $this->helper('Magento\Catalog\Helper\Image')->init($product, 'bike_range_image'); しかし、これにより、適切なデータがないように見える巨大なMagento \ Catalog \ Helper \ Imageオブジェクトができます。(あなたが疑問に思っているなら、私は適切な製品を持っています)。 誰か私にいくつかの指針がありますか?

1
Magento 2統合テストのモックの依存関係
次のシナリオを想定します。 外部サービスを呼び出すクラスがあります クラスはインターフェースを実装し、このインターフェースの優先実装として di.xml ブロックは、コンストラクター・パラメーターとしてこのインターフェースを受け取ります このブロックを使用する統合テストでMagentoリクエストをテストしたい 私は実際に外部サービスを呼び出したくないので、そのクラスをモックして、それを行うための最良の方法は何だろうと思います。 私はあなたがオンザフライでDI設定を定義できることを知っています $objectManager->configure( ['preferences' => [TheInterface::class => MockClass::class]] ); しかし、これにはMockClass自分でモッククラスを定義する必要があります。PHPUnitモックオブジェクトを使用できません。 実際のモックオブジェクトを作成するモックファクトリを作成できるため、注入されたクラスがファクトリの場合、これは問題なく動作します。 しかし、これが唯一の方法ですか、それとも私は何かを逃していますか? 更新: 提案された方法 $objectManager->addSharedInstance($mock, TheInterface::class); 最初は見栄えが良かったが、設定が定義されていない場合にのみ機能した。これらは共有インスタンスよりも優先されます。 私は動的に設定を削除しようとしました: $this->objectManager->configure( ['preferences' => [TheInterface::class => null]] ); しかし、残念ながらMagentoはltrim($to, '\\')引数を呼び出し、それが空の文字列に変換します。これは結果として: ReflectionException:クラスが存在しない


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