Début du support pour la détection du type de la page en fonction de _prop_type (la page /galerie utilise le type galerie, la page /truc utilise un autre, etc.)
Ajout d'un exemple pour galerie dans modèle.
This commit is contained in:
parent
3afe99ebb4
commit
4d3dd2d5d1
|
@ -16,6 +16,18 @@ require_once("controleur/chemin_page.php");
|
|||
// /article_2 // Sous article
|
||||
|
||||
class Page {
|
||||
private static $types = Array();
|
||||
|
||||
public static function ajouterType($nom, $classe) {
|
||||
self::$types[$nom] = $classe;
|
||||
}
|
||||
|
||||
public static function _new($chemin) {
|
||||
// TODO : détecter le type à partir de _prop_type
|
||||
// Problème : pour pouvoir faire un get_prop, il faut qu'on ait déjà instancié la classe...
|
||||
return new self::$types["Galerie"]($chemin);
|
||||
}
|
||||
|
||||
public function __construct($chemin) {
|
||||
$this->chemin = new CheminPage($chemin);
|
||||
}
|
||||
|
@ -32,17 +44,19 @@ class Page {
|
|||
|
||||
$enfants = Array();
|
||||
foreach ($scandir as $k => $v) {
|
||||
$enfants[] = $this->enfant($v);
|
||||
if (is_dir(concaténer_chemin_fs($this->chemin_fs(), $v)) && $v != "." && $v != "..") {
|
||||
$enfants[] = $this->enfant($v);
|
||||
}
|
||||
}
|
||||
return $enfants;
|
||||
}
|
||||
|
||||
public function enfant($nom) {
|
||||
return new Page($this->chemin->enfant($nom));
|
||||
return Page::_new($this->chemin->enfant($nom));
|
||||
}
|
||||
|
||||
public function parent() {
|
||||
return new Page($this->chemin->parent());
|
||||
return Page::_new($this->chemin->parent());
|
||||
}
|
||||
|
||||
public function nouveau($nom) {
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
|
||||
require_once("types/galerie.php");
|
||||
|
||||
$p = new Galerie(".");
|
||||
$p = new Galerie("/modele");
|
||||
|
||||
print_r($p->vue());
|
||||
|
||||
|
|
0
modele/galerie/.gitignore
vendored
Normal file
0
modele/galerie/.gitignore
vendored
Normal file
0
modele/galerie/evenement 1/.gitignore
vendored
Normal file
0
modele/galerie/evenement 1/.gitignore
vendored
Normal file
0
modele/galerie/evenement 2/.gitignore
vendored
Normal file
0
modele/galerie/evenement 2/.gitignore
vendored
Normal file
0
modele/galerie/evenement 2/photo a/.gitignore
vendored
Normal file
0
modele/galerie/evenement 2/photo a/.gitignore
vendored
Normal file
0
modele/galerie/evenement 2/photo b/.gitignore
vendored
Normal file
0
modele/galerie/evenement 2/photo b/.gitignore
vendored
Normal file
0
modele/galerie/evenement 2/photo c/.gitignore
vendored
Normal file
0
modele/galerie/evenement 2/photo c/.gitignore
vendored
Normal file
|
@ -8,7 +8,7 @@ class Galerie extends Page {
|
|||
|
||||
$ret .= '<ul>';
|
||||
foreach ($this->liste_enfants() as $k) {
|
||||
$ret .= '<li><a href="' . $k->url() . '">' . $k->vue('miniature') . '</a></li>';
|
||||
$ret .= '<li><a href="' . $k->url() . '">' . $k->chemin->get() . $k->vue('miniature') . '</a></li>';
|
||||
}
|
||||
$ret .= '</ul>';
|
||||
|
||||
|
@ -26,4 +26,6 @@ class Galerie extends Page {
|
|||
// + Méthodes définies dans modele/page.php
|
||||
}
|
||||
|
||||
Page::ajouterType("Galerie", "Galerie");
|
||||
|
||||
?>
|
||||
|
|
Loading…
Reference in New Issue
Block a user