lunedì 29 novembre 2010

JOOMLA MODIFICARE BACKEND ARTICOLO

Subject: guida su come aggiungere campi custom in un articolo
ecco una breve guida su come estendere un contenuto di Joomla 1.5 aggiungendo dei campi semplici.

* AGGIUNGERE UN CAMPO COME PARAMETRO ARTICOLO (lista a destra).
- nel database eseguire:
ALTER TABLE ##_content ADD nome_campo VARCHAR(255) NULL;

(## è il suffisso scelto, e il tipo del campo può essere quello che serve: datetime, int, tinyint...)

- in administrator/components/com_
content/models/article.xml aggiungere
<param name="nome_campo" type="text" default="" label="descrizione nome_campo" description="" />

nella prima sezione params che si trova (magari in coda a quelle che già ci sono).

- inserire
var $nome_campo = null;
in libraries/joomla/database/table/content.php
nella dichiarazione delle variabili.

- aggiungere
$form->set('nome_campo', $row->nome_campo);
in editContent() in administrator/components/com_content/controller.php

* AAGGIUNGERE UN CAMPO COME PROPRIETA' DI UN ARTICOLO (nella parte centrale del codice).

- nel database eseguire:
ALTER TABLE `##_content` ADD `nome_campo` VARCHAR( 255 ) NOT NULL

(## è il suffisso scelto, e il tipo del campo può essere quello che serve: datetime, int, tinyint...)

- inserire
var $nome_campo = null;
in libraries/joomla/database/table/content.php
nella dichiarazione delle variabili.

- inserire
$row->nome_campo = JRequest::getVar( 'nome_campo', '');

in saveContent() in
administrator/components/com_content/controller.php
(è possibile aggiungere anche della logica, se il valore deve avere un valore di dafault)

- inserire

<table  class="adminform">
<tr>
       <td>
               <label for="title">descrizione nome_campo</label>
       </td>
       <td>
               <input class="inputbox" type="text" name="nome_campo" id="nome_campo" size="40" maxlength="255" value="<?php echo $row->nome_campo; ?>" />
       </td>
</tr>
</table>

in _displayArticleDetails(..., ...) in
administrator/components/com_content/admin.content.html.php

a questo punto dovreste avere i campi desiderati (sia in lettura che scrittura nel contenuto.

Nota bene:
ovviamente non metto le modifiche da fare al template lato front-end perché ogni template ha i suoi file che possono variare da versione a versione.

Nessun commento:

Posta un commento