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

拡張機能の開発と統合に関する質問を示します

4
クラスの場所と名前に関するMagento 2のベストプラクティス
ではMagento 1、私たちは、これらのディレクトリに私たちのクラスを配置するために使用されました ブロック ヘルパー モデル 資源 また、名前の中央に大文字を含まない単純なクラス名を使用します。 いくつかのケースを見てみると Magento 2 Core ヘルパー 場所: - \Foo\Bar\Helper 名前: - *.php 例: - \Magento\ImportExport\Helper\Report -\Magento\Cms\Helper\Wysiwyg\Images オブザーバー 場所: - \Foo\Bar\Observer 名前: - *.php - *Observer.php 例: - \Magento\CustomerCustomAttributes\Observer\SalesOrderAddressAfterLoad -\Magento\CustomerBalance\Observer\ProcessBeforeOrderPlaceObserver プラグイン 場所: - \Foo\Bar\Plugin 名前: - *.php - *Plugin.php 例: - \Magento\Catalog\Plugin\Block\Topmenu - \Magento\PageCache\Model\App\FrontController\BuiltinPlugin 出典:http://devdocs.magento.com/guides/v2.0/extension-dev-guide/plugins.html#declaring-a-plugin …

2
カスタム拡張機能Adminhtmlの入力として動的グリッドを追加する最良の方法
独自のグリッドを使用してカスタムストアロケーター拡張機能を構築し、Adminhtmlでページを編集すると、すべてがうまく機能します。店舗の営業時間については、属性オプションのような動的なグリッドを実装したいと思います。 今私は解決策を見つけましたが、より良い、または少なくともよりクリーンな方法があることを望んでいます。これまでのところ、フォームのフィールドにレンダラーを追加していますfieldset class Redkiwi_Rkstorelocator_Block_Adminhtml_Rkstorelocator_Edit_Tab_General extends Mage_Adminhtml_Block_Widget_Form { protected function _prepareForm() { $form = new Varien_Data_Form(); $this->setForm($form); $fieldset = $form->addFieldset('rkstorelocator_form', array('legend'=>Mage::helper('rkstorelocator')->__('Store information'))); [...] $officehours_field = $fieldset->addField('office_hours', 'editor', array( 'name' => 'office_hours', 'label' => Mage::helper('rkstorelocator')->__('Office hours'), 'required' => false, )); $officehours_block = $this->getLayout() ->createBlock('rkstorelocator/adminhtml_rkstorelocator_edit_renderer_officehours') ->setData(array( 'name' => 'office_hours', 'label' => Mage::helper('rkstorelocator')->__('Office hours'), …

2
モジュールのライセンスはどのように取得すればよいですか?
会社用に作成したモジュールがあります。バックオフィスソリューションからデータを取得し、Magentoにインポートします。また、Magentoからの注文を受け取り、それらをバックオフィスソフトウェアにインポートします。使用できるライセンスの種類についていくつか調べましたが、どのライセンスを使用すべきかわかりません。私の基本的な要件は次のとおりです。 誰かが自分の仕事としてコードをコピー/配布することは望ましくありません。 コードは自分で作成しますが、コアmagento関数を呼び出します。 このモジュールは無料でダウンロードできますが、それを使用するには、私の会社が提供するWebサービスUrlが必要になります(支払いの受領後)。 これをMagentoのすべてのバージョンに配布できるようにしたい(GO(私は思う)を除く)。 上記を念頭に置いた2つの質問: どのライセンスが私のニーズに最適ですか?(私はそれらをすべて読むための決定的なリストを見つけていません)。 このライセンスを強制するにはどうすればよいですか?各スクリプトの上部にいくつかの用語を追加して、ライセンスが適切に設定されていることを確認していますか? この情報がどこかに含まれている場合は、お気軽にリンクしてください。ただし、検索後に特定の状況に対応するものを見つけることができませんでした。

3
Magento 1:モジュール開発ワークフローの改善(Modman、composer、git)
これは私がかなり長い間念頭に置いていたものですが、それを行うための正しい方法を見つけることができません。 基本的に、6つの異なるWebサイトで作業しており、すべてMagento CE 1.9.2+を実行しています それらのWebサイトでは、私と一緒に作業しているチームが開発した拡張機能(ここでは50以上の拡張機能を使用しています)を使用しており、それらの拡張機能のコードはBitbucketに保存されています。そのため、これらの拡張機能を管理しているのは私だけではありません。私たちは3人の拡張機能に取り組んでいます。 現時点で、これらの拡張機能の1つに機能を追加したりバグを修正したい場合のワークフローは次のとおりです。 Modman経由でWebサイトの1つに拡張機能の最新バージョンをインストールします バグの修正/機能の追加/テスト すべての拡張機能を含むローカルフォルダーに変更を手動でコピーする この拡張フォルダーからGITを介してコミットし、Bitbucketにプッシュします(モジュールごとに1つのBitbucketリポジトリ) その後、モジュールの新しいバージョンをModman経由でインストールできます 重要な注意:ここでは、シンボリックリンクなしでmodmanをハードコピーで使用しています。 私の最大の問題は太字で強調されています:問題の大きな原因であるため、この手順をスキップできるようにしたいです(いくつかのファイルは時々忘れられ、間違ったコピー/貼り付け、人間の行動が含まれます)。 したがって、この手動のコピー/貼り付け手順を取り除くために、どのようにワークフローを改善できますか?ここで提案を受け付けています。

4
カスタムモジュールでイベントをディスパッチするタイミング
これは、Magento 1とMagento 2の両方に関する質問です。 私は、良いプラクティスとして、それを理解してサードパーティのモジュールの開発者は、他のモジュールで動作するようにそれを容易にするために彼らのカスタムモジュールでの発送のイベントに奨励されています。 私が知りたいのですが: 開発者はカスタムモジュールのどこでイベントをディスパッチする必要がありますか? イベントをディスパッチするための推奨スポットはありますか?例えば、コントローラー、モデル、ブロック、ヘルパー、オブザーバー? イベントのディスパッチはパフォーマンスにどのように影響しますか?


2
システム構成の開始ページ(admin / system_config / index)はどのように定義されていますか?
システムSystem > Configuration管理画面のシステム構成の開始ページがインストールごとに異なることにしばしば気づきます。General > Generalセクションを表示する代わりに、常に1つまたは別の拡張機能のセクションが表示されます。 これはどのように起こりますか?並べ替え順序ではありませんGeneral > General。最初のタブがまだ存在するショップでも発生するためです。 さらに重要なことは、これをどのように防止するか、システム構成用に独自の「ホームページ」を定義しますか?

4
すべての特別価格製品を表示するカテゴリの作成ページ
基本的に、「販売中の製品」というカテゴリを作成しました。これには、カタログにすべての製品が自動的に含まれ、特別価格が適用されています(カタログ>製品の管理)。標準のMagentoカテゴリページに含まれる階層化されたナビゲーションおよびソート機能をページに保持したいと思います。 これは大多数のMagentoユーザーにとって価値のあるもののようであり、コア機能の一部として含まれていないことに驚いています。 何十ものStack Exchangeの回答、ブログ投稿、フォーラムを試しましたが、今のところ何も機能していません。誰もこれのためのプログラム的な解決策を持っていますか? ===編集=== 以下のコメントでの@pspahnの批判に基づいて、同様の機能を実現する別の方法を追求することにしました。そうは言っても、この行を追求することに興味があるなら、@ sander-mangelは完全に実行可能な方法を説明します。

1
Magentoのバージョンに基づいて、Composer経由でインストールするファイルを選択します
composer'dモジュールにコードの複数のバージョンを含め、インストールターゲットのMagentoバージョンに基づいて、どのバージョンをデプロイするかをcomposerに計算させると非常に便利です。 たとえば、Magento> 1.7の場合はtooltip、ネストされたgroupその他の最新の機能を含むsystem.xmlを使用しますが、古いバージョンのMagentoの場合は、それらの(互換性のない)宣言を含まない簡略版のファイルを使用します。 このアプローチは、標準モジュール構造の他の多数のファイルでも機能します。 composerデプロイメントのオプションはmap、modmanまたはpackage.xmlAFAIKで、いずれもターゲットシステムに関するインテリジェンスを持ちません。package.xmlオプションでは、変更することはほとんどありませんが、map可能性... グレースフルデグラデーションアプローチの恩恵を受けるエクステンション開発者はたくさんいるようです。誰かがこれの回避策を見つけましたか?

5
私が開発した拡張機能とインターフェースするサードパーティのライブラリからの.php、.js、.html、.cssファイルをどこに置きますか?
たとえば、オープンソースのグラフ作成パッケージや画像ギャラリーなど、拡張機能自体の一部ではないものにインターフェイスするMagento拡張機能を開発したいとします。(拡張機能とは別に)ダウンロードすると、サードパーティのlibは、すべての.php、.js、.html、および.cssをまとめた独自の単一の.zipで提供されます。 私の拡張機能をサードパーティのlibと一緒にインストールしたい貧しいサイト所有者に配置しますか?元のサードパーティの.zipを分離して、.jsを/ jsに、.phpを/ libに配置する負担になります。 / skinなどのcss? または、ダウンロードしたままの状態で簡単に解凍して処理できるサードパーティの.zipについて、一般に受け入れられている「ダンピンググラウンド」はありますか?

2
「フォンホーム」の内線を識別する方法
バックグラウンドでリモートサーバーにHTTPリクエストを送信するコードを特定する方法はありますか? 開発マシンでレセプションがむらがあると、localhostで実行している場合でも、多くのショップで読み込みに時間がかかることに気付きました。 一部のリモートサーバーが接続が不安定なために応答に時間がかかるためだと感じています。これらのリクエストを特定して削除したいと思います。たとえば、外部サーバーがダウンしているか遅い場合など、ライブインストールが遅くなるのではないかと心配です。

1
構成ページでの404エラー
新しい拡張機能をインストールし、admin-system-configuration-module optionsを開くたびに、404エラーが発生します。 ログアウトとログインは役立ちますが、これを回避するにはどうすればよいですか?この問題は管理者権限キャッシュと関係がありますが、たとえばインストールスクリプトからプログラムで更新する方法は? 何か案は?

2
拡張機能のインストール後に管理者にログインできない
これについての細かい詳細については、事前にお詫び申し上げます。 Magento拡張機能を販売しています。最新のリリースで、私は数人のユーザーから奇妙なバグ報告を受け始めました。具体的には、拡張機能をインストールした後、管理者にログインできず、ログインリクエストがログインページにリダイレクトされ、エラーメッセージが表示されないことが報告されます。 したがって、これは古典的な「Cookieを設定できない/セッションをインスタンス化できない」問題のように聞こえます。これは奇妙な取得します彼らはどこにある 12時間(つまり、見積もりだ) - 3の後にログインすることが。言い換えれば、彼らは問題に遭遇し、サポートのために私に連絡し、私は書き戻し、彼らは問題が消えたと報告します。また、Cookieをクリアして新しいセッションIDを確立すると問題が解決し、同じ問題が発生したユーザーに同じことをお勧めします。 ここで誰かが似たようなものに遭遇したり、これが発生した理由を考えたりできますか?問題をローカルで再現することはできませんが、正当な問題であると確信できる十分なレポートを入手しました。

6
Magento 2:現在、コントローラーでの製品の価格変更は機能しません!
私は私の製品の価格を次のように変更しようとしました: Controller.php: [編集] <?php namespace MassiveArt\ShoppingCart\Controller\Index; use Magento\Catalog\Model\ProductFactory; use Magento\Checkout\Model\Cart; use Magento\Framework\App\Action\Action; use Magento\Framework\App\Action\Context; use Magento\Framework\Controller\Result\JsonFactory; use Magento\Framework\Data\Form\FormKey; class Index extends Action { /** * @var FormKey */ protected $formKey; /** * @var Session */ protected $checkoutSession; /** * @var Cart */ protected $cart; /** * @var ProductFactory */ protected …

2
Magento2のカスタム拡張機能はどこに作成しますか?
いくつかの記事はでカスタム拡張app/codeを作成することを奨励し、他の記事はでそれらを作成することを奨励していますvendor。これら2つの方法はどちらも問題ありませんか? でモジュールをオーバーライドしたい場合はどうなりますvendorか?vendorフォルダ内にもカスタムモジュールを記述する必要がありますかapp/code? Magento 1.xのようにコードプールとして機能しますか? 各ディレクトリの目的を明確にしてください。

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