link dinamici
Riprendiamo l'esempio precedente e modifichiamo il modello.php , in particolare la funzione get_dati.
function get_dati()
{
$this->load->helper('url');
$oggetto1["id"] = 1;
$oggetto1["contenuto"] = "link1";
$oggetto1["link"] = "<a
href=\"".base_url().$oggetto1["contenuto"]."\">LINK1</a>";
$oggetto2["id"] = 2;
$oggetto2["contenuto"] = "link2";
$oggetto2["link"] = "<a
href=\"http://localhost:8080/CI8/index.php/controllo/link2\">LINK2</a>";
$oggetti
= Array
($oggetto1,$oggetto2);
return $oggetti;
}
Stiamo simulando il recupero di una stringa link1 che poi usiamo come indirizzo , come se ad esempio link1 venisse da un database , o come parametro di ingresso di una funzione. Abbiamo reso dinamico il link. Proviamo il progetto a http://localhost:8080/CI8/index.php/controllo
Adesso spostiamo i link dinamici sulla vista e restituiamo al modello il suo ruolo puro, cioè quello di restituire i dati. Eliminiamo dal modello i link e lasciamo solo i contenuti :
modello.php :
Elaboriamo i link direttamente nella vista :
home.php :
Abbiamo quindi ottenuto di nuovo la presentazione separata dal modello. Il modello non è interessato a sapere cosa si deve fare con i link, potrebbero essere come in questo caso dei collegamenti da stampare come href ma potrebbero essere qualunque altra cosa, immagini da visulizzare a video, collegamenti per il download ecc.
Come prima si può provare il progetto a http://localhost:8080/CI8/index.php/controllo
Adesso spostiamo i link dinamici sulla vista e restituiamo al modello il suo ruolo puro, cioè quello di restituire i dati. Eliminiamo dal modello i link e lasciamo solo i contenuti :
modello.php :
<?php
class modello extends CI_Model {
function __construct()
{
parent::__construct();
}
function get_dati()
{
$this->load->helper('url');
$oggetto1["id"] = 1;
$oggetto1["contenuto"] = "link1";
$oggetto2["id"] = 2;
$oggetto2["contenuto"] = "link2";
$oggetti
= Array
($oggetto1,$oggetto2);
return $oggetti;
}
}
Elaboriamo i link direttamente nella vista :
home.php :
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8"
/>
<title>home</title>
</head>
<body>
<h1>HOME</h1>
<?php
foreach ($oggettiAllaVista as $riga)
{
echo $riga['id'] , ' ';
echo $riga['contenuto'] , ' ';
echo "<a
href=\"".base_url().$riga['contenuto']."\">LINK1</a>";
echo '<br>';
}
?>
</body>
</html>
Abbiamo quindi ottenuto di nuovo la presentazione separata dal modello. Il modello non è interessato a sapere cosa si deve fare con i link, potrebbero essere come in questo caso dei collegamenti da stampare come href ma potrebbero essere qualunque altra cosa, immagini da visulizzare a video, collegamenti per il download ecc.
Come prima si può provare il progetto a http://localhost:8080/CI8/index.php/controllo
Nessun commento:
Posta un commento