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

フロントエンドの開発、構成、および管理に関する質問を示します

2
Magento 2-カスタムフィールドをチェックアウトに追加して送信する方法
すべてのチュートリアルはフィールドの追加のみを扱っていますが、このフィールドの値の保存はスキップされます#mindblown。理由はわかりませんが、フィールドやフォームを追加する最も重要な部分です。 Magentoのドキュメントをフォローしようとしましたが...... テストの目的で、別のフィールドを配送先住所に追加して、カスタムスコープ、カスタムデータセット、カスタムデータプロバイダー、その他のドキュメント化されていないものを無視します。 そのフォームが「静的」または「動的」であることの意味がわかりません。私にとって、すべてのチェックアウトフォームはKnockoutJSテンプレートの上に動的に構築されますが、...「静的」な方法を試してみると、ここに入力を追加できます(静的フォームかどうか)。 最初に、Knockoutオブザーバブルがデータの解析および送信中に自分のフィールドを無視する理由をデバッグしようとします。フィールドに空のnameパラメーターがあることがわかりましたが、この問題を修正する方法を管理できません。IMOは、などのinputName他のオプションと同じようにdisabled、パラメーターを介してUIコンポーネントレンダラーに渡される必要がありますplaceholder(他のパラメーターは正常に機能し、XMLから生成された構成をチェックしてモジュールの初期化をチェックし、見栄えがよくなります) 第二に、プラグインを作成しLayoutProcessor、まったく同じデータを渡す「動的」な方法を使用しようとしました...そして、names を持つフィールドがありますが、送信はまだまったく機能しません。 JSを掘り下げた後、このリクエストの準備はmodule-checkout/view/frontend/web/js/model/shipping-save-processor/default.jsファイルで維持されていることがわかりました。これはmodule-checkout/view/frontend/web/js/model/quote.js、Knockoutオブザーバブルが定義/作成される場所によって異なります。 どういうわけか、module-checkout/view/frontend/web/js/model/address-converter.jsこのオブザーバブルを更新しmodule-checkout/view/frontend/web/js/model/new-customer-address.js、に依存して、最終的にいくつかの興味深い構成オプションを見つけました-すべてのアドレスフィールドのリスト ここにフィールドを追加すると、スクリプトが解析と送信を開始し、OFC 500を取得します、b / cバックエンドはそれらを認識しません...(質問しないでください、私はバックエンド開発者ではありません) だからここに私の質問が来ます: このタイプのカスタマイズを処理する正しい方法ですか?(b / cは私にとって奇妙に見える) 新しいアドレスに関連しないフィールドの値を送信する方法は?同様の構成はどこにも見られませんでした。私の場合、注文のコメント(textarea)と請求書のリクエスト(checkbox)を送りたいです。両方をアドレスとして保存しないでください。一部のユーザーは、将来の使用のためにこのアドレスを保存したい場合があります。 「静的」および「動的」フォームまたはいくつかの例/比較に関するドキュメントはありますか?このように考える価値はありますか? 追加の実存的な質問: なぜこれがそれほど一貫していないのですか?MagentoがXML / PHPファイルで大量のパラメーターを定義する必要があるのに、Magentoは入力のみをレンダリングできるのに、すべてを自分で処理する必要があるのはなぜですか?


2
Magento2では、<script type =“ text / x-magento-init”>とは何ですか?
私はMagento2を初めて使用し、私たちの組織はEEライセンスを取得しました。ローカルマシンにインストールしましたが、デフォルトのテンプレートはHMTLと混合して以下を吐き出します。 &lt;script type="text/x-magento-init"&gt; { "*": { "Magento_Ui/js/core/app": { "components": { "customer": { "component": "Magento_Customer/js/view/customer" } } } } } &lt;/script&gt; そして、のような呼び出し &lt;script type="text/x-magento-init"&gt; { "*": { "Magento_Ui/js/core/app": { "components": { "messages": { "component": "Magento_Theme/js/view/messages" } } } } } &lt;/script&gt; これはと行うことですKnockoutJSかRequireJS?これらの呼び出しは何で、この新しいスクリプトタグは何ですか&lt;script type="text/x-magento-init"&gt;

6
Magento 2のテーマ/ CSSキャッシュをクリアする
Magento 2ストアのテーマを設定している場合、キャッシュを消去するための推奨される方法は何ですか? .lessファイルを編集してから現在実行しています rm -rf pub/static/frontend/* var/view_preprocessed/ var/*cache/* しかし、これは総当たり的な方法のようです。 php bin/magento cache:flush --all 仕事をしていないようです。 より良いものはありますか?

4
ライブサイトはフロントエンドで空白であるか、ロードし続けてロードしない
私は今までにMagentoで奇妙な問題に直面しています。1.9.0バージョンを使用しています。 過去2か月間、私たちのライブサイトは使用済みのブラウザに対して「空白」または「読み込みを維持」しています。このブラウザでは、何度もサイトにアクセスしました。 一部のブラウザでは、正常に動作します。いくつかの空白を示しています。 しかし、バックエンドはすべてのブラウザで正常に機能しています。 クロム、モジラ、オペラ、その他すべてのブラウザで問題に直面しています。 1)ブラウザの履歴[キャッシュとCookie]をクリアすると、動作しなくなります。 2)同じウィンドウをプライベートウィンドウで開くと、その機能が動作します。 3)新しくインストールしたブラウザでサイトを開くと、しばらく動作します。サイトを使用した後は再び空白になります。 4)var / sessionフォルダーをクリアすると、しばらくの間すべてのブラウザーで機能し始めます。再びサイトの空白。 5)時々、サイトはロードし続け、ロードされません。... system.logとexception.logを確認しました。しかし、これに関連するエラーはないようです。安全なページにhttpsを使用しています。このサイト用のAndriodアプリもあります。時には致命的なエラーが発生します: **Fatal error**: Allowed memory size of 536870912 bytes exhausted (tried to allocate 85 bytes) in /lib/Zend/Db/Statement/Pdo.php or lib/Varien/Object.php or /lib/Varien/Db/Select.php or app/code/core/Mage/Core/Model/Config.php php.iniでmemory_limit = 1512 Mbを設定します .htaccess私たちは、ファイルを次のようしています。 php_value memory_limit 1512M php_value max_execution_time 18000 これのコメントを外しました: ini_set('display_errors', 1); ただし、フロントエンドにエラーは表示されません。これはApacheエラーログです: …
23 cache  frontend  cookie 

3
_module.lessと_extend.lessの違い
とを使用_module.lessしてテーマを拡張するのに違いはあります_extend.lessか?モジュール/テーマを拡張するときのベストプラクティスは何ですか? 私が最初に考えたのは_module.less、新しいモジュールをスタイリングするとき、および_extend.lessモジュールを拡張するときに使用する方が良いということでした。しかし、Lumaは_module.less、空白のテーマを拡張するときに、理論が窓から外れるようにするために使用します。 それらの間で私が見ることができる唯一の違い_module.lessは、レスポンシブライブラリの前にインポートされることと_theme.less、as _extend.lessがそれらの後にインポートされることです。 これがインポートされる順序です vendor/magento/theme-frontend-blank/web/css/styles-l.less // // Blank theme desktop styles // _____________________________________________ // These desktop styles are added to mobile // // Global lib + theme styles // --------------------------------------------- @import '_styles.less'; @import (reference) 'source/_extends.less'; // // Magento Import instructions // --------------------------------------------- //@magento_import 'source/_module.less'; // Theme modules //@magento_import 'source/_widgets.less'; …

2
LESS lib-css mixinの目的は何ですか?
.lib-css()ミックスインは、Magentoの2 LESSファイルに頻繁に使用されます。ただし、その目的は明らかではなく、ミックスインの定義には有用なドキュメントはありません。 // // cssプロパティを追加します // --------------------------------------------- .lib-css( @_property、 @_値、 @_prefix:0 )when(@_prefix = 1) ではなく(@_value = '') でなく(@_value = false) でなく(extract(@_ value、1)= false) でなく(extract(@_ value、2)= false) でなく(extract(@_ value、3)= false) でなく(extract(@_ value、4)= false) and not(extract(@_ value、5)= false){ -webkit-@ {_ property}:@_value; -moz-@ {_ property}:@_value; -ms-@ {_ property}:@_value; } .lib-css( @_property、 @_値、 @_prefix:0 …

4
phtml magento 2でルートディレクトリパスを取得する方法は?
$objectManager = \Magento\Framework\App\ObjectManager::getInstance(); $storeManager = $objectManager-&gt;get('\Magento\Store\Model\StoreManagerInterface'); $mediaPath = $fileSystem-&gt;getDirectoryRead(\Magento\Framework\App\Filesystem\DirectoryList::MEDIA)-&gt;getAbsolutePath(); メディアパスを返します。phtmlページでプロジェクトのルートパスを取得する方法は?

2
フロントエンドのイベントオブザーバー内で製品を保存しようとすると、Magentoが失敗しますか?
イベントオブザーバーに関連付けられている関数があります 要件の1つは、注文項目データをループするときに、特定の製品属性が空の場合、別のモデルを介して特定のデータを取得する要求を発行することです(正常に動作します)。 問題コードは基本的にこれに要約されます foreach ($order-&gt;getAllItems() as $key =&gt; $item) { /** @var Tantor_Catalog_Model_Product $productData */ $productData = $item-&gt;getProduct(); $_item = Mage::getModel('catalog/product')-&gt;load($productData-&gt;getId()); $_item-&gt;setNetsuiteItemIid('foo'); $_item-&gt;save(); } ただし、Magentoは次の例外をスローしています。 2014-03-05T21:14:14+00:00 ERR (3): exception 'Exception' with message 'Warning: Invalid argument supplied for foreach() in /var/www/html/app/code/core/Mage/Eav/Model/Entity/Abstract.php on line 1180' in /var/www/html/app/code/core/Mage/Core/functions.php:245 Stack trace: #0 /var/www/html/app/code/core/Mage/Eav/Model/Entity/Abstract.php(1180): mageCoreErrorHandler(2, …

2
管理者に表示されるカテゴリをソートする方法は?
コードは次のとおりです。 $category = Mage::getModel('catalog/category')-&gt;load(3); $subCats = Mage::getModel('catalog/category')-&gt;load($category-&gt;getId())-&gt;getChildren(); $subCatIds = explode(',',$subCats); $currentUrl = Mage::helper('core/url')-&gt;getCurrentUrl(); アドバイスしてください、thx!
15 frontend 

2
CSSまたはJSをマージすると、ページタイプごとに新しいファイルが生成されます
たくさんの小さなCSSファイルとJSファイルがあり、マージを有効にすることは良い選択のようです。 CSSおよびJSファイルの多くは、すべてのページ(ホームページ、カテゴリページ、製品詳細ページ)で使用されます。 別のマージされたファイルが各ページに再度ロードされるのを見るたびに、含まれるCSSでさえ重複している必要があります。 どうすればこれを回避し、より多くのデータを再利用できますか?

2
バックエンドからのフロントエンドでの自動ログイン
次のシナリオを参照してください。 フロントエンドユーザーがカスタムエンティティに対してアクションを実行できるカスタムモジュールがあります。(詳細はあまり重要ではありません)。 要求は、管理者が(パスワードを持たずに)顧客アカウントでフロントエンドにログインし、顧客に対してこれらのアクションを実行できるようにすることです。 バックエンドからフロントエンドセッションを使用することはできず、フロントエンド用の永続的な自動ログインリンクを作成したくないので、これは大きなセキュリティホールになる可能性があるため、これまで私がやったことです。 顧客エンティティに空の属性を追加します。(それを呼び出しましょうlogin_key) ランダム文字列が生成されて属性に保存される管理ページにリダイレクトするボタンを顧客編集ページのバックエンドに追加しますlogin_key。 同じアクションで、管理者をこのようなフロントエンドURLにリダイレクトしautologin/index/index/customer_id/7/login_key/ajkshdkjah123123ます(前の手順で生成された値)。 フロントエンドURLでlogin_key、特定の顧客の顧客IDと一致する場合、セッションで顧客オブジェクトを設定し(ログインした状態で)login_key、URLが将来機能しないように削除します。 これでうまくいく。つまり、選択した顧客としてログインしますが、自動ログインに使用されるリンクが再度機能しません。 欠点は、2人の管理者がほぼ同時に「自動ログイン」ボタンをクリックすると、1人がログインに失敗することですが、これは許容できるリスクです。 私の主な懸念は、これが(それではなく)大きなセキュリティ問題かもしれないということです。誰かがこのアプローチで何か間違ったことを見ることができますか?またはより良いものを提案しますか? 顧客アカウントはWebサイトごとに分離できるという事実は無視してください。これは重要ではなく、簡単に管理できます。



5
Magento2:CSSファイルを変更するためのベストプラクティス
cssファイルを変更したいpub/static/frontend/Magento/luma/en_US/css/styles-l.css。 最初、このファイルはpub / staticフォルダーに存在せず、 vendor/magento/theme-frontend-blank/web/css/styles-l.less (it's styles-l.less) を使用して静的コンテンツを展開するとphp bin/magento setup:static-content:deploy、それに関連するpub / staticに2つのファイルが作成されます。 1. pub/static/frontend/Magento/luma/en_US/css/styles-l.less 2. pub/static/frontend/Magento/luma/en_US/css/styles-l.css 私は支援を受けた開発者であり、モジュールの開発中にpub / staticに存在するものはすべて削除する傾向があります(.htaccessを除く)。だから私には、直接変更するのに最適なオプションではないようですpub/static/frontend/Magento/luma/en_US/css/styles-l.css。 その場合、上記のCSSファイルを変更するためのベストプラクティスは何ですか? 1.変更するpub/static/frontend/Magento/luma/en_US/css/styles-l.lessか、または 2.pub/static(開発中に)すべてを削除できるという理解が間違っているためpub/static/frontend/Magento/luma/en_US/css/styles-l.css、変更する必要があり、削除しないでください。

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