過去5年間、オンラインストアを作成しています。 たくさんのお店。 良くて違う。 私はプログラマー、レイアウトデザイナー、デザイナー、マネージャーでした。
一度に複数の分野の専門家になることはできません。 そして、おそらく、あなたは正しいでしょう。 私はデザインとヒリングクライアントの専門家ではありません。 しかし、これらの分野への関心と適切な活動の必要性は私に何かを与えました。 テクニカルサポート、クライアントとそのコンテンツマネージャーとの絶え間ない相談、他の人のターゲットオーディエンスの調査、顧客とのプログラマー、デザイナー、タイプセッターとのコミュニケーションに関する何千もの質問は私に良い経験を与えました。 そして最も重要なこと-経験は1つの領域ではなく、オンラインストアを作成するプロセスのすべての側面での経験です。 プログラミングと設計から、クライアントとのコミュニケーション、ビジネスプロセスの分析まで。
普通の話
サイトを作成した後、数か月間、「サイトに写真を挿入する方法」という質問で電話をかけたとき、多くの人々が状況に精通していると思います。 そして、彼らの新しい「コンピューター技術者」は、ロゴの右側に赤い忍び寄る線を挿入するために、どのファイルを選ぶべきかを見つけるように呼びかけます。 などなど。
もちろん、優れたWebスタジオには、そのような質問に答える必要があるテクニカルサポート部門があります。 しかし、これは問題の結果に対する解決策であり、原因ではありません。
問題自体は、多くのサイト管理システムがプログラマーのためにプログラマーのために作られたものであり、普通の人々のために作られていないという事実から生じます。
あなたが顧客の愚かさに腹を立てるたびに、通常のコンテンツマネージャーを雇うように助言し、電話を取りません。
そして、各顧客の声に耳を傾け、彼のところに来て、あなたのcmsでコンテンツマネージャーの仕事を観察し、彼に助言し、彼が遭遇したすべての困難を書き留めることができます。 そして、座って、将来、顧客がそのような質問をしないように、あなたのcmsを作り直す方法について考えてください。 そして最も重要なこと-これを他の機能やシステムの内部構造と複雑にしないでください。
だから私はPRです
最初に書いたように、5年間オンラインストアを作成しています。 そして、この5年間、私はオンラインストアの独自のエンジンを使用し、常に改善してきました。 最近、エンジンのコード、構造、設計を完全に作り直しました。 その結果、 オンラインストアSimplaにスクリプトが登場しました 。
Simplaの主な利点は、そのシンプルさです。 サイト訪問者、管理者、レイアウト、プログラマーの観点からのシンプルさ。 9999の可能性はありません。 ただし、優れたオンラインストアに必要なものはすべて揃っています。
必要条件
Simplaのインストール先が事前にわからないので、サーバーパラメーターに対する要求ができるだけ少なくなるようにしようとしました。
- Apacheサーバー+ mod_rewrite
- MySQL 4.1以降(おそらく小さく、以前のバージョンではテストされていません)
- PHP4またはPHP5
- Zend Optimizerは不要
- GD2は画像の自動サイズ変更に適しています
- UPD --enable-bcmath
設置
このスクリプトは、source.zipアーカイブとinstall.phpインストーラーの形式で提供され、インストールウィザードとして機能し、いくつかのステップで構成されています。
インストール後、テストコンテンツとミニマルなデザインのストアができました。 このテンプレートは、将来の設計の基礎として便利です。cssで送信できるものはすべて、すべてコメントが付けられています。
バイヤーの観点から
もちろん、店舗のデザインは大きく異なりますが、作品の構造はほぼ保存されています。
ユーザーの利便性を説明するために、店舗で商品を注文するプロセスを示します。
アイテムをカートに追加します。
次に、受信者に関する情報を入力し、「注文」をクリックします。
その後、ユーザーと管理者は注文に関する情報が記載された手紙を受け取り、ユーザーはさまざまな方法で注文の支払いを求められます。
現在、オンライン決済の方法にはウェブマネーとビザ/マスターカードがありますが、より人気のある方法が間もなく追加されます。
ユーザーは、登録されていないにもかかわらず、注文のステータスを常に確認できます。 とても便利です。
管理者の観点から買い物をする
コントロールパネルは次のようになります。
たとえば、いくつかの製品を編集してみましょう。
製品の写真は、別のサイトから直接ダウンロードできることに注意してください(これは、顧客の70%に関連しています、ay-yay)。
当然、写真は必要なサイズに自動的にサイズ変更されます。
また、私はドイツで購入した組み込みのtinymceエディター(およびファイルをダウンロードするためのプラグイン)で画像アップロードプラグインについて言及せざるを得ません。
これは次のように見えますが、ライブであると感じることをお勧めします。
管理者の幸福
最も頻繁なアクションのために、「admin happiness」と呼ばれる機能が作成されました。管理者は、オンラインストアのオブジェクトを使用してほとんどの操作をサイトで直接実行できます(コントロールパネルではありません)。
ほとんどの場合、コンテンツエラーは、コントロールパネルではなく、サイトを表示するときに管理者によって検出されます。 修正するには、「編集」をクリックしてエラーを修正し、「保存」をクリックして、「編集」をクリックした場所に自動的に戻ります。
デザインを変更する方法
店舗の外観は、デザインの「テーマ」によって設定されます。 各テーマは、css、images、およびhtmlのサブフォルダーを含む単なるフォルダーです。
ほとんどの場合、標準設計を採用してcssを変更するだけで十分です。
デザインは、コントロールパネルから直接編集できます。
小さな編集の場合、これは非常に便利です。 また、一部の人にとっては、大きな人にとって便利です。
プログラマーの観点から
ほとんどのcmsは、「9999個の関数を追加してください。多分便利になるでしょう」という原則に基づいて作成されています。 もちろん、いくつかの機能はさまざまなケースで本当に役立ちます。 しかし、彼らはコードとコントロールパネルを混乱させます。 私はわずかに異なる原則を選択しました-関数の必要性が疑わしい場合、私はそれをcmsに含めません。 これにより、特定のサイトに本当に必要な機能を追加しやすくするために、コードをより簡単かつ簡単にすることができました。 例として、たとえばフィードモジュールのソースコードを示します。
<?PHP
/**
* Simpla CMS
*
* @copyright 2009 Denis Pikusov
* @link simplacms.ru
* @author Denis Pikusov
*
*
* news.tpl , news_item.tpl
*/
require_once('Widget.class.php');
class NewsLine extends Widget
{
/**
*
*/
function NewsLine(&$parent)
{
Widget::Widget($parent);
}
/**
*
*/
function fetch()
{
// ?
$news_url = $this->url_filtered_param('news_url');
if (!empty($news_url))
{
// url ,
return $this->fetch_item($news_url);
}
else
{
// ,
return $this->fetch_list();
}
}
/**
*
*/
function fetch_list()
{
//
$this->db->query('SELECT *, DATE_FORMAT(date, \'%d.%m.%Y\') as date FROM news WHERE enabled=1 ORDER BY date DESC');
$news = $this->db->results();
//
$this->smarty->assign('news', $news);
$this->body = $this->smarty->fetch('news.tpl');
return $this->body;
}
/**
*
*/
function fetch_item($url)
{
//
$query = sql_placeholder('SELECT *, DATE_FORMAT(date, \'%d.%m.%Y\') as date FROM news WHERE url = ? AND enabled=1 LIMIT 1', $url);
$this->db->query($query);
// - 404
if ($this->db->num_rows() == 0)
{
return false;
}
$item = $this->db->result();
//
$this->title = $item->meta_title;
$this->keywords = $item->meta_keywords;
$this->description = $item->meta_description;
//
$this->smarty->assign('news_item', $item);
$this->body = $this->smarty->fetch('news_item.tpl');
return $this->body;
}
}
* This source code was highlighted with Source Code Highlighter.
( , ). , , , , .
Simpla : simplacms.ru
-:
simplacms.ru/demo
simplacms.ru/demo/admin
, , , .
UPD - — - . — — default.zip . , ) —
UPD2 , , , ( , ). - — . , :)