OpenCartでのオンラインストア開発の実務経験

2009年11月、 www.opencart.comに会い、MVCの基本原則に準拠して構築されたこのCMSに非常に満足しました。 これは、独自のニーズに簡単に適応できる素晴らしいコードシステムです。 システムファイルは、コントローラー、モデル、ビュー、言語のフォルダーに分かれています。

画像

華麗でシンプル。 とても簡単なので、数時間のうちにシステムの仕組みを理解し、既にいくつかのコントローラーファイルを自分のニーズに適合させることができました。 CMSとして、このシステムは原則として考慮しない方が良いです! すべてが非常に貧しく、悲しいです。 しかし、商業活動のプラットフォームは非常にまともです。 このサイトの主なスローガンは、開発の労力を最小限に抑えたオンラインストアです。



私にとって重要な利点は、ページ生成が高速であることです。 モデル、ビュー、コントローラーに分離した単純なコード。 デザインテンプレートは、明確な構造を持つフォルダー内にあります。 何かを変えることが非常に難しい、magentoコマースと比較した単純なシステム。



そして今、OpenCartに興味がある人にとって興味があるかもしれないいくつかの詳細。 私は、私の意見では理論上ではなく、特定のプロジェクトでの使用例に基づいて、有用である可能性があると思う古い版を公開しています。





コード変更が簡単

たとえば、このページwww.toolsonline.ru/toolsets/allinone/nab.14.12.116で購入すると、市場価格と貯蓄のあるブロックが表示されます。これはブランドmachine-importの製品に対してのみ表示されます。 このブロックを作成するには、製品カードの形成を担当するコントローラーのファイルにいくつかの変数を追加する必要がありました。 非常に使いやすいとは言えず、FTP経由でPHPファイルを変更する必要がありました。 しかし、ロジックは非常に透過的であるため、将来、すでに行ったことや後で行うことについて混乱することはないと確信しています。 ブロックは1つの特定の製造業者に対してのみ表示されます。 ロジックは別のコントローラーファイルにあります。 PHPとHTMLが混在するデザインテンプレートファイル内のブロックの表現。 Opencartテンプレートは可能な限り最も原始的なものですが、独自のパワーを持っています! これは、xsltで他の人のデザインテンプレートを操作した後に理解できます。 2つのphpファイルに変更を追加し、必要な結果を得ました。



3日間でYandex.Marketにアップロードする



Yandex ML形式でオンラインストアから商品を降ろすためのコードを書きました。 これは、商品をGoogle Base形式にエクスポートするためのシステムで使用可能なファイルに基づいて行うのは非常に簡単です。 これは実際には簡単です。

Yandex.Marketマネージャーとアップロードパラメーターに同意すると、この形式の興味深い側面の多くが明らかになり、最終バージョンを承認する前に、アップロードを4回変更しました。 Yandex.Market管理者は、アップロードの有効性を確認できる多くのことを助けました。 Yandexoidsはこのファイルを確認するのに良い仕事をしました。 オンラインストアをYandex.Marketにわずか3日間で統合するタスクを実現し、次の3日間は非常に誇りに思っていました=)さらに、vendor.modelモデルを実装し、管理パネルで商品のアンロード元の最低価格を選択できるようにしましたファイル。



アンロードが正確にどのように行われるかわからない場合:

商品はYMLファイルでYandex.Marketに自動的にアップロードされます。 ファイルは約5時間ごとにアップロード、処理、公開されます。 Yandex.Marketは、1分間隔でサイト製品へのリンクをランダムにポーリングします。 サイトが利用できない場合、パブリケーションから自動的に削除されます。 したがって、Yandex.Market検索で製品をクリックすると、クリックごとにサイト所有者に少なくとも3ルーブルの費用がかかります。 YML形式の愚かさは、XMLはwindows-1251でのみ受け入れられ、UTF-8では受け入れられないことです。 HTMLエンティティの大部分はサポートされていません。 この奇妙なサポートの理由は私には理解できない。



画像を操作する



製品の説明にある追加の写真をご覧くださいwww.toolsonline.ru/toolsets/allinone/nab.14.12.105それらは275x275ピクセルで表示されます。 画像をクリックすると、800x800のサイズの画像が開き、画像の上に透かしが表示されます。 OpenCartの画像スケーリング、保護透かしはデフォルトで構築されます。 必要なライブラリがどこにあるのかを把握して、必要なサイズの画像を生成し、数行のコードを画像出力ライブラリに追加するだけです。 透かしの出力は実装されていますが、PHPファイルのヘルパーメソッドの1つに含める必要があります。



製品には個々のプロパティのフィールドを含めることができず、その結果、原則として、Virtuemartや他のエンジンのようにプロパティによるフィルターを実装しませんが、非常に素晴らしくシンプルなWYSIWYG(私はそれが何と呼ばれているのかわかりません)があります。 商品の写真。 商品の価格を管理するための多くの組み込みツール。 最終価格に影響するオプションを追加できます。 各製品は、カタログの複数のセクションに同時に配置できます。



CNCの問題



このCMSには、修正する必要があるいくつかの欠点があります! 私が理解しているように、この機能はバージョン1.3.xから登場し、まだデバッグされていない多くのCNCエラーです。 1つの製品は、サイトのルートwww.toolsonline.ru/cs-tk56pmqまたはディレクトリ構造www.toolsonline.ru/toolsets/unisets/cs-tk56pmqからseo -urlで表示できます。 同じ製品にいくつかの方法がありますが、それは私の考えではありません。 ページの合計数は多くなりますが、検索エンジンの観点から見ると各ページの重みは小さくなるはずです。 同じコンテンツを共有します。 SEOリンクのオプションに加えて、パラメーターを持つリンクも並行して動作します。 ここにリンクwww.toolsonline.ru/index.php?route=information/contactと美しいリンク/連絡先/簡単な方法で作成できませんでした。



コード404の問題



2番目の重要な問題は、この非常にCMSの設計者であるダニエルが、存在しないページに対して404エラーを根本的に与えないことです。 「ページが見つかりません」というテキストが表示されますが、ページに対してHTTPコード200 OKが送信されます。 検索エンジンはページが存在すると考えますが、存在しません。 スラグは検索エンジンのインデックスから削除されません。 この問題は解決しましたが、公式サイトforum.opencart.comの Opencartコミュニティに解決策がない理由に驚きました 。 私はいつものニックネームjfimaでそこにいて、この問題やその他の問題に対する解決策をいくつか投稿しています。 コミュニティは若くて脆弱で、賢い人はほとんどいないと思います。



まとめ



一般に、開発への投資を最小限に抑えてオプションに焦点を当てる場合、OpenCartは電子商取引に適しています。 私のレベルは、このCMSの何かを自分で仕上げるのに十分です。つまり、多くのフリーランサーがこのシステムを利用できるようになります。 プロジェクトのニーズに合わせて簡単にカスタマイズできるシンプルなフレームワーク。



All Articles