2009-06-03 6 views
4

J'ai besoin de créer l'application crud typique pour les "articles", existe-t-il une norme ou une sorte de meilleure pratique quand il s'agit de cela? Je sais que chaque application et la situation varie, mais je veux dire en général. Deuxièmement, je suis un peu confus sur la façon de gérer plusieurs images associées à un article particulier, je pensais juste balises img dispersées dans le corps de l'article par opposition à avoir une table d'images et de référencement des images et des articles et tout ça. Je cherche juste quelques conseils et suggestions sur la façon de gérer ce genre de chose, car je suis sûr que la plupart des gens ici l'ont fait plusieurs fois.schema table d'article

Ma définition de l'article tout comme:

CREATE TABLE `articles` (
    `id` int(11) NOT NULL auto_increment, 
    `issue_id` int(11) default NULL, 
    `status` text, 
    `updated_at` date default NULL, 
    `body` text, 
    `title` varchar(255) default NULL, 
    `author` varchar(255) default NULL, 
    `created_at` date default NULL, 
    PRIMARY KEY (`id`) 
) 

Répondre

1

Articles Table:

CREATE TABLE `articles` (
    `id` int(10) unsigned NOT NULL auto_increment, 
    `keyname` varchar(96) NOT NULL, 
    `title` varchar(96) NOT NULL, 
    `content` text NOT NULL, 
    `tags` varchar(128) NOT NULL, 
    `author` varchar(128) NOT NULL, 
    `date_created` datetime NOT NULL, 
    `date_updated` datetime default NULL, 
    PRIMARY KEY (`id`) 
) 

Article images:

CREATE TABLE `articles_images` (
    `id` int(10) unsigned NOT NULL auto_increment, 
    `article_id` int(10) unsigned NOT NULL, 
    `url_thumb` varchar(512) NOT NULL, 
    `url_big` varchar(512) NOT NULL, 
    `date_created` datetime NOT NULL, 
    PRIMARY KEY (`id`), 
    KEY `article_id` (`article_id`) 
) 

url_thumb - image miniature
url_big - grande image

Et vous pouvez consulter la base de données Wordpress` Chema

+0

Je divise les étiquettes en une table différente, une ligne par étiquette. –

+0

pourquoi stocker les images ou leurs chemins dans une table par opposition à seulement les balises img dans le contenu? Je ne vois tout simplement pas le point, je veux dire que vous avez 5 images associées à un article – Ronn

+0

oui, ce n'est pas une bonne pratique, mais très utile pour injecter ces images sur d'autres pages, comme les listes, vous savez. même créer une galerie d'images. sujet a commencé à demander une solution commune, mais il n'y a pas une telle chose, bien sûr, si votre site n'est pas un blog. Le point est - vous pouvez ajouter de nombreuses résolutions d'image et les utiliser où vous voulez. Peut-être que je suis trop spécifique. –

0

Si vous voulez juste pour afficher les images et les télécharger par ftp la chose balise image est bien

Si vous voulez un l'interface Web pour les télécharger, enregistrer les chemins dans la base de données est très pratique

Vous n'avez pas à attacher les images à l'article en soi, vous pourriez avoir une table qui enregistre les chemins de l'image, puis utiliser un modèle de jointure ou simplement pointer vers les images via une balise d'image

Cela vous permet d'utiliser quelque chose d'aussi pratique que paperclip (plugin) pour gérer le chargement et le stockage

2

Dublin Core est une norme informelle ensemble d'attributs pour les documents et les médias. Les attributs sont les suivants:

  • Titre
  • Créateur
  • Sujet
  • Description de
  • Editeur
  • Contributeur
  • Date de
  • Type de
  • Format
  • Identifiant
  • Source
  • Langue
  • Relation
  • Couverture
  • Droits

Il y a un peu juste de la pensée de gens qui ont exécutent des applications de gestion des documents/des médias pendant des années derrière cette liste.Je pense que c'est une bonne ressource pour analyser les idées sur les attributs que vos utilisateurs pourraient trouver utiles et qui pourraient vous manquer au début (tels que créateur vs éditeur vs contributeur vs source). Je ne voudrais pas simplement jeter tous ceux dans votre application sans penser à si elles sont pertinentes.

Je pense que vous voulez une table qui associe des images à des articles. Sinon, si vous avez besoin de savoir quelles images un article utilise, comme pour supprimer un article et ses images, la seule façon de trouver les images associées est d'analyser le corps de l'article lui-même. Cela rend le SQL difficile en utilisant des fonctions de traitement de chaîne, ou force le traitement dans votre application, ce qui pourrait être un problème de performance si vous devez traiter un groupe d'articles à la fois.

Vous pouvez toujours utiliser des balises d'image dans le corps de l'article pour disposer les images, évitant tout système de balisage personnalisé plus compliqué. Il suffit d'écrire votre modèle pour qu'il analyse les balises d'image et mette à jour la table de jointure lorsque vous créez/modifiez un article. Un peu de nokogiri et attachment_fu (ou leurs alternatives) devraient faire un travail rapide.

Questions connexes