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

Magentoでのカスタム(PHP)開発に関する質問(単にインストールして構成するのではなく)

5
カスタム拡張機能の書き方
最近、無料の商用拡張機能で多くの問題が発生したため、この質問をして、拡張機能を作成するときに通常実行する手順で回答することにしました。回答を編集するか、新しい回答を追加してください。 拡張機能またはテーマをインストールするほとんどの場合、必要なすべての環境で機能させるために数時間(場合によってはそれ以上、場合によってはそれ以下)を費やす必要があります。 dev:通常localhost、プロジェクトはサブフォルダーにあります preprod&live これは大きくても、拡張プロバイダからの拡張機能(それは私が本当に怒る少なくともまでは無名のまま、ここに自分の名前を追加する必要があります)で起こっている ので、品質を確保するための拡張を書くとき、私は検討すべき段階is..what主な質問技術および非技術者がコードを使用し、技術者がコードを変更するのを容易にしますか?


5
Magentoプラグイン開発の学習
私は13年以上PHP開発者であり、WordPressのような他の人気のあるプロジェクトに限り、PHP自体に関する広範な知識を持っています。Magentoの経験はありません。 私は現在、Magentoを使用している会社でフルタイムの仕事をしていますが、私の開発作業はすべてMagentoで行われる予定です。 Magentoを初めて見た後の私の最初の考えは、すごいものになりました。しかし、その後、私の経験豊富な開発者が出てきて、それがただのPHPであることを思い出します。 ですから、Magentoの基本的な質問がいくつかあります。Magentoの経験豊富な開発者からの回答に感謝します。 このサイトの横にあるmagento開発について学ぶための最も便利な場所は何ですか? これまでのところ、拡張機能/プラグインは非常に混乱しています。WordPressのような他のプラットフォームでは、プラグインを独自のフォルダーに配置することができ、すべてのファイルはそのフォルダーの下に保存されます。これまで見てきたことから、プラグインはMagentoのいくつかのフォルダに散らばっているかもしれませんが、これは正しいですか? コア機能をオーバーライドする方法について学びました。コア内のファイルがここにある場合、/app/code/core/Mage/SitemapModel/Resource/Catalogこの場所にファイルを作成することでオーバーライドできます。これ/app/code/local/Mage/SitemapModel/Resource/Catalogは拡張機能/プラグインでどのように機能しますか?コア機能をオーバーライドする必要があるプラグインを作成する場合、その拡張機能が機能するためにファイルをいたるところに配置する必要がありますか? magentoを始めて知ってほしい他の情報はありますか? 洞察力のおかげで、これは複数の部分からなる質問であることはわかっていますが、答えは自分自身や他の人にとって役立つと思います。必要に応じてこの公開ウィキを作成します

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

11
localhost開発でのMagento2の実行が非常に遅い
最近、magento2の新しい拡張機能またはカスタマイズの開発を開始しましたが、最初の印象は悪夢でした。変更するたびに20〜30秒ほど待たなければなりませんか?本当に? 私は開発モードについて話しているのですが、キャッシュが有効になっている実稼働環境では、Webサイトがスムーズになることがわかっています。しかし、拡張機能やレイアウトの問題を扱っているときは、静的ファイルを削除したり、キャッシュをクリアしたりする必要があります。 私の質問は、すべてのM2開発者がどのように働くのかということです。ページを更新するのに20〜30秒待たなければならないとは思わないからです... 私の環境:私のPCは8GB RAMを搭載した「良い」i5です。Windowsで作業する必要があるため、vagrantを使用します。 4コアすべてのCPUの使用 5120MBのRAMを使用 Ubuntu / trusty64-Ubuntu 14.04 PHPバージョン7.0.12-1 + deb.sury.org〜trusty + 1 MariaDB-10.1.18-MariaDB-1〜信頼できる Magento 2.1.2は、sampledataのみでインストールされます(モジュールはインストールされません) (詳細を知りたい場合は私に尋ねてください) 正確に何が起こっているのですか? 通常、M2はページをロードするのに5〜10秒ほど大丈夫、遅いが大丈夫、と応答しますが、時々(通常よりも)永久にスタックすることがあります!最初のページである場合もcss、js、htmlファイルである場合もありますが、常に問題はTTFBにあります。 セットアップウィザードにも問題が発生しました。angular.jsでは、これらのファイルは永久に残ります... これらの2つの写真は、セットアップウィザード内の移動に関するものです。 次に、フロントエンドカタログをナビゲートする別のもの: 私は正確に何を求めていますか? これは正常ですか?あなたはこのタイミングで動作しますか?私はこれを何人かの同僚とコメントしましたが、私たちは信じられません。私は時々スクリーンを見ながらずっと待ち続けているのに絶望しています... 誰かが私にテストを見せてほしいと頼んだら、新しい製品を作成したり、ただ驚かせるようなものを...新しい注文を作成し、フィールドを埋め、すべてのフィールドに5-6秒間続くjsを実行します... わからないが、このようなものを開発するのはとても気分が悪い...

4
開発者モードではどのコンパイルコマンドが必要ですか?
Magento 2開発者モードでどのコンパイルコマンドを実行するかを誰かが指示できますか?私はまだそれを正しく理解しているかどうかわかりません。 devdocsでは、開発者モードは次のように説明されています。 静的ビューファイルはキャッシュされません。呼び出されるたびに、Magento pub / staticディレクトリに書き込まれます つまり、pub / static内の個々のファイルは要求時に生成され、呼び出す必要はありませんsetup:static-content:deployか?これは私の経験と矛盾しています。または、ファイルを削除して再生成できますか?また、画像、CSS、およびJSファイルの扱いが異なるようです。 開発者モードのドキュメントページには、コードのコンパイルについては何も書かれていませんが、違いもあったと思うのでsetup:di:compile、di.xmlファイルをすべて変更した後に実行する必要はありませんでした。これは正しいですか?その場合、開発者モードでコード生成はどのように機能しますか? 言い換えれば、キャッシュは別として、どのコマンドを変更した後に実行する必要がありますか?

2
Magento開発のセットアップ
この質問は、開発環境のセットアップに向けられています。特定の要件がいくつかあります。 私たちのチームの人々はこれらすべてのOSを使用しているため、Linux、Windows、およびMac OSで私のソリューションを使用できるようにしたいです(たとえば、フロントエンド開発者はWindows / Macを使用し、バックエンド開発者は主にLinuxを使用します) modmanを使用する必要があります コンポーザーを使用する必要があります GithubとプライベートGitリポジトリを使用する必要があります NetbeansやPHP Stormのような適切なIDEが必要です とても良いパフォーマンスが欲しい 私の現在のセットアップは、Virtualbox内の仮想化されたUbuntuイメージです。3つのOSすべてがVirtualboxを実行できるため、ポイント1)-5)はすべて満たされます。 しかし、現在、私は6)に完全に満足していません。これは、Ubuntu 12.04内からソリューションを実行する場合に特に当てはまります。VirtualboxはWindows 7の方がはるかに安定しており、応答性が高いようです。しかし、チームの多くの人々がLinuxを使用しているため、ソリューションを改善したいと思います。 VMWareまたはdocker.ioに匹敵するセットアップがあり、より安定して実行されるかどうかを報告できる人はいますか?または、他の同等のソリューション/アイデアはありますか?



4
Magento開発ワークフロー:データベースを「ソース管理」し、MagentoインストールをTest magentoインストールから更新する方法
この質問を投稿しているのは、オンラインストアのすべての側面を管理したい人にとって最適な開発ワークフローが何かを知りたいからです。 もちろん、すべてのWeb開発と同様に、ソフトウェアソリューション全体のライブコピーと少なくとも1つの開発コピーを保持することは、もちろん非常に重要です。ただし、Magentoの管理は、他の「ファイルベース」ソフトウェアの管理とは異なります。データベースコンポーネントが存在するため、ソース管理用のVCSツールとしてGitのようなツールを使用できるという事実に加えて、ライブバージョンと開発バージョンのデータベースの違いを管理しますか? もちろん、cronを使用してライブデータベースのバックアップを作成し、バックアップからSQL INSERTステートメントをソース管理に挿入できますが、その後、顧客がライブデータベースに登録して注文する一方で、2つのデータベースが個別に進化します。開発データベースは個別に更新されるため。開発バージョンとライブバージョンのマージに関しては、phpファイルはgitで問題なく更新できます(データベース構成の詳細をホストする単一ファイルでgitignoreを使用します)が、データベースファイルはどうですか?災害を引き起こしたりシステムを破壊したりすることなく、2つのバックアップからINSERT SQLステートメントを含む2つのファイルをマージするにはどうすればよいですか? これは、私が直面しているMagento開発ライフサイクルの日陰の領域です。データベースの違いを管理します。 Magentoストアの開発/テストバージョンとライブバージョンとで異なるデータベースコンテンツを同期する唯一の解決策は、Magento管理パネルを介して開発バージョンで行われたすべての変更を紙に書き留めることであるように思えます。そして、ミスをしないことを望みます。そして、すべてがテストされ、ファイルが動作したら、Magentoがオフラインになり、メンテナンスモードになっている間に、ライブバージョンに移動してまったく同じ変更を実行します。これは手動プロセスであるため、エラーが発生しやすいです。 それでは、テストmagentoサーバーとライブmagentoサーバー間のデータベース同期を処理するより良い方法は何ですか? ありがとう。

4
信頼できるMagento開発者を見つける方法は?
私はeBayで販売する新興企業のオーナーですが、Magentoバックエンドでテンプレートを使用してストアをセットアップすることで多くの作業を行ってきました。しばらくしてテンプレートに飽きてきました。特定の機能や見た目が欲しいと思っていなかったからです。そこで、テーマをレイアウトしたPSDを作成し、MagentoサービスへのPSDを実行できる人を探しています。 私が見るところはどこでも、非常に異なった引用や回答が得られるようで、今ではこれまで以上に混乱しています。いくつかの企業は、Magentoは私のビジネスがどれだけ小さいのか、Magentoが私にとって絶対に選択できないこと、そしてMagentoが必要とするメンテナンスをする余裕がないと言っています。他の企業は、私が必要とするすべてを行うことができ、彼らが見積もる価格は素晴らしいと言いたいのですが、安い価格とオンラインレビューのために仕事の質が疑わしくなります。また、Magento以外のソリューションも検討しましたが、必要な機能が提供されていないようです。 私の質問は、Magentoが中小企業が考慮するにはあまりにも大きなコストを本当に必要としているのでしょうか?そうでない場合、開発者を探し、その仕事の品質/価値を調べることをどのようにお勧めしますか?カスタム機能を実装する前の、PSD to Magentoテーマのコストの良い範囲は何だと思いますか?$ 2,000- $ 5,000?5,000ドルから10,000ドルですか?もっと? 御時間ありがとうございます!

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をハードコピーで使用しています。 私の最大の問題は太字で強調されています:問題の大きな原因であるため、この手順をスキップできるようにしたいです(いくつかのファイルは時々忘れられ、間違ったコピー/貼り付け、人間の行動が含まれます)。 したがって、この手動のコピー/貼り付け手順を取り除くために、どのようにワークフローを改善できますか?ここで提案を受け付けています。

3
イベントによって渡される文字列を変更するにはどうすればよいですか?
私のオブザーバー関数では、そのようなイベントによって渡される変数を取得します。 public function observerFunc(Varien_Event_Observer $observer) { $sth = $observer->getEvent()->getSth(); } sthがオブジェクトの場合、そのメソッドを呼び出すことで変更できます。しかしsth、それが単純な文字列である場合、どのように変更できますか?私は成功せずに以下を試しました: public function observerFunc(Varien_Event_Observer $observer) { $sth = $observer->getEvent()->getSth(); $observer->getEvent()->setSth('test'); $observer->setSth('test'); } 一部のイベントは文字列を変更できるトランスポートオブジェクトも渡すことを学びました(ありがとうAlex)が、イベントpage_block_html_topmenu_gethtml_afterはそうではありません。それで、なにかお手伝いできますか? 問題のイベントは次のようにディスパッチされ、$ htmlを変更します。 $html = $this->_getHtml($this->_menu, $childrenWrapClass); Mage::dispatchEvent('page_block_html_topmenu_gethtml_after', array( 'menu' => $this->_menu, 'html' => $html ));

4
属性コードに最大長があるのはなぜですか?
属性を作成しようとしたところ、属性コードの最大長が30文字であることがわかりました。ただし、これは実際には何らかの実際の制限ではないことがわかります。これは完全に任意の値であり、 Mage_Eav_Model_Entity_Attribute::ATTRIBUTE_CODE_MAX_LENGTH. では、なぜ制限があるのでしょうか。そして、なぜデータベース列の実際の制限であるインスタンス255ではなくデフォルト30なのでしょうか。 PS。誰かがこの質問のためのより良いタグを考えることができるならば、それらを更新してください。

1
Magento2がステージングからライブサイトに移行
サイトのローリング開発の効率的なプロセスに関する情報があまり多くないので、ステージングでカスタムモジュールやその他のファイルの変更を追加し、それらの変更をmagento2を使用してサイトのライブコピーにプッシュできます。 Magento 1.9では、ファイルのgitクローンがあり、gitはライブサイトで準備が整ったすべての変更をプルしました。ステージングサイトが開発者モードで、ライブサイトが本番環境にある場合、これは明らかにmagento2では機能しません。 ライブサイトのダウンタイムを最小限に抑えるためのベストプラクティスは何ですか?(それが可能であれば、ダウンタイムは最適ではありません)

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