Back to top

Autore Topic: jos_content da modificare  (Letto 7970 volte)

Offline gargamella16

  • Appassionato
  • ***
  • Post: 201
  • Sesso: Maschio
    • Mostra profilo
jos_content da modificare
« il: 25 Nov 2010, 22:11:42 »
salve a tutti ragazzi, come al solito sono l'uomo dalle richieste assurde, per il sito che sto creando ho bisogno di personalizzare al massimo la struttura, tra l'altro ottima di joomla, veniamo a noi,

nel modulo di inserimento articolo che ho gia in parte modificato c'e l'opzione inizio pubblicazione (pubblish up) e la relativa termine pubblicazione


mi servirebbe creare una struttura simile con pero data di nascità ora i miei dubbi sono:


all'interno della tabella jos_content devo creare un altro campo e poi devo andare nel form.php in miotemplate/articles a richiamarla vero?


come faccio poi a rendere visibile tale modifica una volta che l'utente mi legge l'articolo?



spero di essermi spiegato!

mau_develop

  • Visitatore
Re:jos_content da modificare
« Risposta #1 il: 25 Nov 2010, 22:15:07 »
ma conosci php?

...altrimenti lascia perdere e cerca qualche extension.
Non basta mettere una cosa quì e una lì, dovresti "rivisitare" tutto il codice del componente

M.

Offline gargamella16

  • Appassionato
  • ***
  • Post: 201
  • Sesso: Maschio
    • Mostra profilo
Re:jos_content da modificare
« Risposta #2 il: 25 Nov 2010, 22:24:13 »
lo conosco discretamente bene e ho gia praticamente cambiato mezzo codice di joomla!



mau_develop

  • Visitatore
Re:jos_content da modificare
« Risposta #3 il: 25 Nov 2010, 22:36:33 »
mi servirebbe creare una struttura simile con pero data di nascità
----------------------------------------------------------------------------------------
publish up serve a pubblicare o meno un articolo ... nn capisco il termine struttura e come mai o paragoni ad una data di nascita

M.

Offline gargamella16

  • Appassionato
  • ***
  • Post: 201
  • Sesso: Maschio
    • Mostra profilo
Re:jos_content da modificare
« Risposta #4 il: 25 Nov 2010, 22:42:13 »
<label for="publish_up">
      Inizio pubblicazione:
      </label>




serve appunto a stabilire un inizio pubblicazione con il corrispettivo calendar in java


con struttura intendo un altra class con label data di nascita che permetta al form di inserimento articolo di poter appunto far inserire all'utente la sua data di nascita!

mau_develop

  • Visitatore
Re:jos_content da modificare
« Risposta #5 il: 25 Nov 2010, 22:51:40 »
vuoi inserire un campo con la data di nascita di chi compila usando il behavior calendar?

nel template della view che mostra il form

JHTML::_('behavior.calendar');

<input class="inputbox" type="text" name="data_nascita" id="startdate" size="10" maxlength="10" value="<?php echo $this->LA_DATA_DI_NASCITA ?>" /><input type="reset" class="button" value="..." onclick="return showCalendar('startdate','%Y-%m-%d');" />

ovvio che il form verrà inviato al controller (penso) e il post bindato alla query.
Per il bind allaquery devi aggiornare anche le tables col campo che aggiungi.

quando istanzi la jtable ci sarà anche il check dei dati prima dell'inserimento, fagli il check...

se invece usa il settable probabilmente devi creargli l'oggetto sqldata altrimenti da errore di inserimento nel db

M.

Offline gargamella16

  • Appassionato
  • ***
  • Post: 201
  • Sesso: Maschio
    • Mostra profilo
Re:jos_content da modificare
« Risposta #6 il: 25 Nov 2010, 22:55:21 »
la modifa che devo andare a fare penso sia in form.php dentro a miotemplate/article.php li infaati è contenuta l'intera struttura php del componente inserimento articolo   fino a qua ci siamo vero?

mau_develop

  • Visitatore
Re:jos_content da modificare
« Risposta #7 il: 25 Nov 2010, 23:04:00 »
 solitamente il template di una view sta in una cartella tmpl
poi il modulo di registrazione non sta nel content,... credo nell'user...

...nn riesco a capire...

M.


Offline gargamella16

  • Appassionato
  • ***
  • Post: 201
  • Sesso: Maschio
    • Mostra profilo
Re:jos_content da modificare
« Risposta #8 il: 25 Nov 2010, 23:09:35 »
mi spiego con una immagine


questo invia inserizione è contenuto nel percorso sopra scritto


in basso dove c'e inizio pubblicazione e termine pubblicazione dovrei aggiungere data di nascita con lo stesso calendar



[allegato eliminato da un amministratore]

Offline gargamella16

  • Appassionato
  • ***
  • Post: 201
  • Sesso: Maschio
    • Mostra profilo
Re:jos_content da modificare
« Risposta #9 il: 01 Dic 2010, 19:41:27 »
sono riuscito a fare la modifica che volevo ma ora ho un problemino


vorrei avere la data senza l'ora e anche se nel campo mysql ho messo DATE joomla mi visualizza anche l'ora



come posso fare?

mau_develop

  • Visitatore
Re:jos_content da modificare
« Risposta #10 il: 01 Dic 2010, 20:39:11 »
JFactory::getDate()->toFormat('%a %d %b %Y - %H:%M')

il toFormat restituisce il formato della data, modifica i parametri %

M.

Offline gargamella16

  • Appassionato
  • ***
  • Post: 201
  • Sesso: Maschio
    • Mostra profilo
Re:jos_content da modificare
« Risposta #11 il: 01 Dic 2010, 21:13:01 »
esatto funziona!

mi sono accorto pero che quando inserisco la data di nascita non mela scrive nel database nonostante abbia creato il campo apposito dentro alla tabella jos_content


probabilmente sbaglio a richiamarla?

mau_develop

  • Visitatore
Re:jos_content da modificare
« Risposta #12 il: 01 Dic 2010, 21:24:54 »
le date sono una disperazione (almeno mia) con joomla... un pacco di cod inutile per non fare nulla :)

cmq per inserire nella query devi usare una funzione tomysql o qualcosa di simile.. trovi qualcosa se cerchi con google "JDate Joomla"

M.

Offline gargamella16

  • Appassionato
  • ***
  • Post: 201
  • Sesso: Maschio
    • Mostra profilo
Re:jos_content da modificare
« Risposta #13 il: 01 Dic 2010, 21:27:09 »
<td class="key">
    <label for="datanascita">
      <?php echo JText::_( 'Inserisci la data di nascita' ); ?>
      </label>
    </td>
  <td>
    <?php echo JHTML::_('calendar', $datanascita, 'datanascita', 'datanascita', '%Y-%m-%d ', array('class'=>'inputbox', 'size'=>'25',  'maxlength'=>'19')); ?>
    </td>


questo è quello che ho aggiunto a form.php del template e funziona ora pero non capisco come collegare il tutto al campo datanascita creato dentro a jos_content

vamba

  • Visitatore
Re:jos_content da modificare
« Risposta #14 il: 01 Dic 2010, 23:49:06 »
Da quel che riesco a decifrare intenderesti utilizzare la form articoli dal frontend, se fosse così credo dovresti appoggiati anche alla class ContentModelArticle (del models->article.php)  e buttare un occhio alle funzioni
function &getArticle()
e
function store($data)
per prendere e passare i dati all'sql... altrimenti, da quel che posso vedere adesso, hai una form che spare nel vuoto.
« Ultima modifica: 01 Dic 2010, 23:50:50 da Peke Yangu »

Offline gargamella16

  • Appassionato
  • ***
  • Post: 201
  • Sesso: Maschio
    • Mostra profilo
Re:jos_content da modificare
« Risposta #15 il: 02 Dic 2010, 01:07:48 »
esatto hai capito perfettamente il form è ok ma non passa i dati al DB butto un occhio ai file che mi hai indicato, vedo se c'e qualcosa di buono e mi rifaccio vivo!

Offline gargamella16

  • Appassionato
  • ***
  • Post: 201
  • Sesso: Maschio
    • Mostra profilo
Re:jos_content da modificare
« Risposta #16 il: 02 Dic 2010, 01:50:13 »
non mi spiego perche non va bene questa dicitura

$sql="INSERT INTO jos_content (datanascita) VALUES ($_POST[datanascita]";

mysql_query($sql,$conn) or die(" errore".mysql_error());


non riesco proprioa capire dove cavolo joomla dice al server di scrivere su DB quello che l'utente inserisce ad esempio il banalissimo titolo articolo

mau_develop

  • Visitatore
Re:jos_content da modificare
« Risposta #17 il: 02 Dic 2010, 08:52:06 »
mmmhh no, se stai facendo così
VALUES ($_POST[datanascita]";

vuol dire che non stai usando l'mvc.

non so come stai facendo ma il post viene recuperaro dal controller che chiama il metodo che gestisce l'operazione sql bind check e update piuttosto che save o delete, nel model.
In caso di errore o di avvisi il controller esegue la redirect impostata eventualmente portando alla visualizzazione un messaggio

M.

Offline gargamella16

  • Appassionato
  • ***
  • Post: 201
  • Sesso: Maschio
    • Mostra profilo
Re:jos_content da modificare
« Risposta #18 il: 02 Dic 2010, 11:18:34 »
ma non riesco a trovare il file dove il form passa i dati al mysql perche non form.php c'e solo il js che fa il controllo dei dati inseriti

Offline gargamella16

  • Appassionato
  • ***
  • Post: 201
  • Sesso: Maschio
    • Mostra profilo
Re:jos_content da modificare
« Risposta #19 il: 02 Dic 2010, 21:18:48 »
allora per semplificare il problema ho creato un altra tabella chiamata infoaggiuntive

con il solo campo datanascita come diamine la collego?

con l' insert into?

mau_develop

  • Visitatore
Re:jos_content da modificare
« Risposta #20 il: 02 Dic 2010, 21:26:21 »
scusa ma non riesco a seguirti...

ma stai facendo un:
1 override del template
2 modulo
3 componente

caso 1) non puoi fare ciò che vuoi

2 e 3) dovrest avere una struttura mvc ovvero cartella mod_tuomodulo, com_tuocomponente
con dentro un controller un entry point una view almeno un model.

Hai queste cose?

M.

Offline gargamella16

  • Appassionato
  • ***
  • Post: 201
  • Sesso: Maschio
    • Mostra profilo
Re:jos_content da modificare
« Risposta #21 il: 02 Dic 2010, 21:34:10 »
allora io sto modificando il modulo inserimento articolo latoutente da codice php

ho trovato il file da modificare è form.php che si trova nella cartella template che uso


ho trovato il corrispettivo nel mysql tabella jos_content


ora, sotto a titolo ho creato l'area data di nascita e ho creato la rispettiva tabella infoaggiuntive con il campo datanascita


vorrei che una volta inseriti i dati e cliccato su inserisci la data di nascita inserita dall'utente venga scritta da joomla nel DB

mau_develop

  • Visitatore
Re:jos_content da modificare
« Risposta #22 il: 03 Dic 2010, 08:38:23 »
si ma io mi immagino che se modifichi un modulo sai come fare, poi puoi pure commettere errori e trovare supporto... ma mi sembra tu stia saltando completamente il pattern mvc.

Quel form, quando verrà inviato invocherà una task nel controller che provvederà al check e al caricamento dei dati usando il CRUD di joomla; quindi avrai anche da aggiornare la classe che estende JTable

M.

Offline gargamella16

  • Appassionato
  • ***
  • Post: 201
  • Sesso: Maschio
    • Mostra profilo
Re:jos_content da modificare
« Risposta #23 il: 16 Dic 2010, 18:24:26 »
ancora non sono riuscito a risolvere il problema e torno ad implorare aiuto, stavolta sarò pero piu diretto perche se no non ci capiamo allora


posto il codice che ho modificato fino ad adesso di form.php ovvero il componente che permette di inviare articoli all'utente dal lato sito

Codice: [Seleziona]





<?php // no direct access
defined('_JEXEC') or die('Restricted access');

$config =& JFactory::getConfig();
$publish_up =& JFactory::getDate($this->article->publish_up);
$publish_up->setOffset($config->getValue('config.offset'));
$publish_up $publish_up->toFormat();



$datamorte =& JFactory::getDate($this->article->datamorte);
$datamorte->setOffset($config->getValue('config.offset'));
$datamorte $datamorte->toFormat();



if (! isset(
$this->article->publish_down) || $this->article->publish_down == 'Never') {
$publish_down JText::_('Never');
} else {
$publish_down =& JFactory::getDate($this->article->publish_down);
$publish_down->setOffset($config->getValue('config.offset'));
$publish_down $publish_down->toFormat();
}
?>


<script language="javascript" type="text/javascript">
<!--
function setgood() {
// TODO: Put setGood back
return true;
}

var sectioncategories = new Array;
<?php
$i 
0;
foreach (
$this->lists['sectioncategories'] as $k=>$items) {
foreach ($items as $v) {
echo "sectioncategories[".$i++."] = new Array( '$k','".addslashes$v->id )."','".addslashes$v->title )."' );\n\t\t";
}
}
?>



function submitbutton(pressbutton) {
var form = document.adminForm;
if (pressbutton == 'cancel') {
submitform( pressbutton );
return;
}
try {
form.onsubmit();
} catch(e) {
alert(e);
}

// do field validation
var text = <?php echo $this->editor->getContent'text' ); ?>
if (form.title.value == '') {
return alert ( "<?php echo JText::_'Article must have a title'true ); ?>" );
} else if (text == '') {
return alert ( "<?php echo JText::_'Article must have some text'true ); ?>");
} else if (parseInt('<?php echo $this->article->sectionid;?>')) {
// for articles
if (form.catid && getSelectedValue('adminForm','catid') < 1) {
return alert ( "<?php echo JText::_'Please select a category'true ); ?>" );
}
}
<?php echo $this->editor->save'text' ); ?>
submitform(pressbutton);
}
//-->
</script>
<?php if ($this->params->get('show_page_title'1)) : ?>
<div class="componentheading<?php echo $this->escape($this->params->get('pageclass_sfx')); ?>"><?php echo $this->escape($this->params->get('titolo articolo nn visualizzato')); ?></div>
<?php endif; ?>
<form action="<?php echo $this->action ?>" method="post" name="adminForm" onSubmit="setgood();">
<fieldset>
<legend><?php echo JText::_('Ricorda il tuo Caro'); ?></legend>
<table class="" width="100%">
<tr>
<td>
<div style="float: left;">
<label for="title"> Nome e Cognome defunto
</label>
<input class="inputbox" type="text" id="title" name="title" size="50" maxlength="100" value="<?php echo $this->escape($this->article->title); ?>" />
<input class="inputbox" type="hidden" id="alias" name="alias" value="<?php echo $this->escape($this->article->alias); ?>" />
</div>

</td>

</tr>



</table>

<td class="key">
    <label for="datanascita">
      <?php echo JText::_'Inserisci la data di nascita del defunto' ); ?>
      </label>
    </td>
  <td>
    <?php echo JHTML::_('calendar'$datanascita'datanascita''datanascita''%Y-%m-%d ', array('class'=>'inputbox''size'=>'25',  'maxlength'=>'19')); ?>
    </td>
   

   
   
    <br>
   
   
   
    <td class="key">
    <label for="datamorte">
      <?php echo JText::_'Inserisci la data di morte del defunto' ); ?>
      </label>
    </td>
  <td>
 
 
    <?php echo JHTML::_('calendar'$datamorte'datamorte''datamorte''%Y-%m-%d ', array('class'=>'inputbox''size'=>'25',  'maxlength'=>'19')); ?>
    </td>












<p>
 <?php
echo $this->editor->display('text'$this->article->text'100%''400''70''15');
?>

</p>
<p><div style="float: right;">
<button type="button" onclick="submitbutton('save')">
<?php echo JText::_('Inserisci'?>
</button>
<button type="button" onclick="submitbutton('cancel')">
<?php echo JText::_('Rimuovi'?>
</button>
</div></p>



</fieldset>
<fieldset>


<label for="sectionid">

</label>

   
<?php echo $this->get('id'); ?>
<label for="catid">

</label>
<?php echo $this->get('id'); ?>

<?php if ($this->user->authorize('com_content''publish''content''all')) : ?>


<label for="state">
</label>
<?php echo $this->get('id'); ?>

<?php endif; ?>
    <label for="publish_up">
      <?php JText::_'Start Publishing' ); ?></label>
    <?php JHTML::_('calendar'$publish_up'publish_up''publish_up''%Y-%m-%d %H:%M:%S', array('class'=>'inputbox''size'=>'25',  'maxlength'=>'19')); ?>

<label for="publish_down">
<?php JText::_'Finish Publishing' ); ?></label>

    <?php JHTML::_('calendar'$publish_down'publish_down''publish_down''%Y-%m-%d %H:%M:%S', array('class'=>'inputbox''size'=>'25',  'maxlength'=>'19')); ?>

<label for="access">
</label>

<?php echo $this->get('id'); ?>

</fieldset>



<input type="hidden" name="option" value="com_content" />
<input type="hidden" name="id" value="<?php echo $this->article->id?>" />
<input type="hidden" name="version" value="<?php echo $this->article->version?>" />
<input type="hidden" name="created_by" value="<?php echo $this->article->created_by?>" />
<input type="hidden" name="referer" value="<?php echo str_replace(array('"''<''>'"'"), '', @$_SERVER['HTTP_REFERER']); ?>" />
<?php echo JHTML::_'form.token' ); ?>
<input type="hidden" name="task" value="" />
</form>






« Ultima modifica: 16 Dic 2010, 18:28:29 da gargamella16 »

Offline gargamella16

  • Appassionato
  • ***
  • Post: 201
  • Sesso: Maschio
    • Mostra profilo
Re:jos_content da modificare
« Risposta #24 il: 16 Dic 2010, 18:26:46 »
la domanda è questa  quando un utente inserisce la data di nascita e la data di morte e preme inserisci


come joomla passa il valore titolo al corrispettivo campo title della tabella jos_content deve passare anche i campi datanascita e datamorte    che naturalmente ho creato all'interno della tabella

Offline gargamella16

  • Appassionato
  • ***
  • Post: 201
  • Sesso: Maschio
    • Mostra profilo
Re:jos_content da modificare
« Risposta #25 il: 18 Dic 2010, 11:57:06 »
problema risolto!!!!!!!!!!!!!!!!!!!!

 



Web Design Bolzano Kreatif