私は現在、アート作品をオンラインで販売するアート ギャラリーのウェブサイトを開発しています。アーティストに関する情報 (バイオ、メール、電子メール、展示会の日付など) を収集して表示するためのコードを開発する必要があります。私は最初にメーカーの機能を使用し、「メーカー」を「アーティスト」に置き換えて翻訳のみを適応させようとしましたが、すぐに限界があることに気付きました。アーティストと住所を関連付ける必要はなく、追加情報が必要です。問題は、コードをきれいに保ち、prestashop のアップグレードを簡単にしながら、これを実装する最善の方法がわからないことです。
次のように、新しいデータベース テーブルを作成する必要があると思います (展示会の日程、まだ実装されていません)。
CREATE TABLE `artist` (
`id_artist` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(64) NOT NULL,
`date_add` datetime NOT NULL,
`date_upd` datetime NOT NULL,
`active` tinyint(4) NOT NULL DEFAULT '0',
`email` varchar(255) DEFAULT NULL,
`phone` varchar(255) DEFAULT NULL,
PRIMARY KEY (`id_artist`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
CREATE TABLE `artist_lang` (
`id_artist` int(11) NOT NULL,
`id_lang` int(11) NOT NULL,
`name` varchar(255) NOT NULL,
`description` text NOT NULL,
`short_description` text NOT NULL,
`meta_title` varchar(128) NOT NULL,
`meta_keywords` varchar(255) NOT NULL,
`meta_description` varchar(255) NOT NULL,
PRIMARY KEY (`id_artist`,`id_lang`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
これをモジュールにするか、コア クラスにアーティスト モジュールとコントローラーを直接追加する必要がありますか? そうする場合、製品クラスをオーバーライドする必要があります。製造元は必要ないので、製造元クラスをオーバーライドする必要がありますか?