-
Hi! File home.php: $value ) { switch ($value) { case 'sirep': $site = new PhpEcho('block/appli.php'); $site['style'] = 'background-color:#b0cf77'; $site['imgSrc'] = 'images/logoSirep.png'; $site['goal'] = 'Pour les entreprises'; $site['title'] = 'La prospection commerciale'; $site['text'] = "
|
Beta Was this translation helpful? Give feedback.
Replies: 6 comments
-
Salut moimp3, tu peux utiliser la balise code (CTRL+e) pour améliorer la lisibilité de tes messages. Comment as-tu découpé ta page en blocs ? |
Beta Was this translation helpful? Give feedback.
-
Voici comment d'après ton site j'aurais codé un bloc dans <?php /** @var rawsrc\PhpEcho\PhpEcho $this */ ?>
<article id="<?= $this['id'] ?>">>">
<img src="<?= $this['logo.img'] ?>" alt="logo <?= $this['logo.name'] ?>" />
<?= $this['goal'] ?>
<h3><?= $this['title'] ?></h3>
<ul>
<?php foreach ($this['text'] as $text) { ?>
<li><?= $text ?></li>
<?php } ?>
</ul>
<p class="centrer"><a href="<?= $this['app.url'] ?>" class="bouton">Accéder</a></p>
</article> Comme tu as besoin de 4 blocs sur ta page, tu devras faire 4 instances du même bloc en passant les valeurs attendues par bloc pour finaliser le rendu. Quelque chose comme ça : new PhpEcho('block/app.article.php', [
'id' => 'sirep',
'logo.img' => 'images/logoSirep.png',
'logo.name' => 'sirep',
'goal' => 'Pour les entreprises',
'title' => 'La prospection commerciale',
'app.url' => '/appSirep/index.php',
'text' => [
'Assurez le suivi commercial de vos clients et prospects',
'Gérez les rappels de vos clients',
'Notez les résumés de vos contacts',
"Fonctions spécifiques B to B (d'entreprise à entreprises)",
],
]); À toi de choisir si les infos proviennent d'une base de données, d'un fichier de paramètres ou de tes petits doigts... Je te conseille aussi de créer autant de page basées sur à la prochaine rawsrc |
Beta Was this translation helpful? Give feedback.
-
C'est la toute première fois que j'utilise ce site et je n'en connais pas encore toutes les astuces. Par exemple, je n'ai pas trouvé comment avoir une coloration syntaxique. La difficulté n'est pas d'écrire les blocs de chaque appli mais de les intégrer dans un bloc parent des 4 blocs. Code de la page page/home.php
Je te mets ici les différents blocs à incorporer dans cette page tels que je les écrits:
Bloc /block/appli.php:
Je ne parviens pas à incorporer les 4 blocs appli dans le bloc /block/mainFrame |
Beta Was this translation helpful? Give feedback.
-
Salut moimp, relis bien ce que tu fais : C'est normal que tu perdes l'affichage. Plusieurs points importants : c'est plus qu'étrange de charger un autoload dans une vue... Une vue qui définit la racine des vues... Tout ça relève d'un fichier d'amorçage ou de configuartion (bootstrap) Dans tous les cas, voici comment tu aurais dû faire : <?php /** @var rawsrc\PhpEcho\PhpEcho $this */ // HOME PAGE
require_once DIR_ROOT.'vendor'.DIRECTORY_SEPARATOR.'autoload.php';
use rawsrc\PhpEcho\PhpEcho;
PhpEcho::setTemplateDirRoot(DIR_ROOT.'view'.DIRECTORY_SEPARATOR.'fr');
$home = new PhpEcho('layout/main.php');
$home['title'] = 'Portail Proginet';
$home['description'] = 'Portail de présentation des applications Proginet';
$home['language'] = $language;
$body = new PhpEcho('block/home.php');
$body['header'] = new PhpEcho('block/header.php');
$body['language'] = $language;
$body['menu'] = new PhpEcho('block/menu.php');
$services = [];
$sites = ['sirep', 'sirap', 'genealium', 'astro'];
foreach ($sites as $value) {
$block = new PhpEcho('block/appli.php');
switch ($value) {
case 'sirep':
$block['style'] = 'background-color:#b0cf77';
$block['imgSrc'] = 'images/logoSirep.png';
$block['goal'] = 'Pour les entreprises';
$block['title'] = 'La prospection commerciale';
$block['link'] = 'http://sirep.proginet.local';
$block['text'] = <<<'html'
<ul>
<li>Assurez le suivi commercial de vos clients et prospects</li>
<li>Gérez les rappels de vos clients</li>
<li>Notez les résumés de vos contacts</li>
<li>Fonctions spécifiques B to B (d'entreprise à entreprises)</li>
</ul>
html;
break;
case 'sirap':
$block['style'] = 'background-color:rgb(255,255,130)';
$block['imgSrc'] = 'images/logoSirap.png';
$block['goal'] = 'Pour les associations et les collectivités';
$block['title'] = 'La gestion des compétences pour associations et collectivités';
$block['link'] = 'http://sirap.proginet.local';
$block['text'] = 'Recensez et contactez vos bénévoles et vos salariés. Rapprochez leurs compétences de vos activités.';
break;
case 'genealium':
$block['style'] = 'background-color:blue; color:white';
$block['imgSrc'] = 'images/logoGenealium.png';
$block['goal'] = 'Pour les particuliers ou les associations';
$block['title'] = "Plus qu'une généalogie, l'histoire de toute votre famille !";
$block['link'] = 'http://genealium.proginet.local';
$block['text'] = 'Une personne met les informations à jour. Toute la famille en bénéficie.';
break;
case 'astro':
$block['style'] = 'background-color:#ddd';
$block['imgSrc'] = '';
$block['goal'] = 'Pour usage personnel';
$block['title'] = 'Double astrologie';
$block['link'] = 'http://astro.local';
$block['text'] = "La double astrologie permet de définir les caractères de la personne. Ce site reproduit un livre et dispose donc d'un accès protégé.";
break;
}
$services[] = $block;
}
$body['mainFrame'] = new PhpEcho('block/mainFrame.php', ['services' => $services]);
$home['body'] = $body;
echo $home; et le bloc vue mainFrame : <article id="right">
<p class="center"><a href="benefits.php" class="benefitsButton vCenter">Vos avantages</a></p>
<div class="content">
<?= $this['services'] ?>
</div>
</article> |
Beta Was this translation helpful? Give feedback.
-
J'ai déménagé l'autoload dans le fichier index. |
Beta Was this translation helpful? Give feedback.
-
salut, tu peux passer directement à l'instance de PhpEcho, un tableau de valeurs clé => valeur utile pour finaliser le rendu. C'est exactement ce que je fais, je passe les valeurs (services) nécessaire au rendu du bloc. Je ne comprends pas ce que tu ne comprends pas. |
Beta Was this translation helpful? Give feedback.
Salut moimp,
relis bien ce que tu fais :
ici :
$body['mainFrame'] = new PhpEcho('block/mainFrame.php');
tu définis une valeur (bloc PhpEcho) pour la clé'mainFrame'
, puis un peu plus loin tu la redéfinis :$body['mainFrame'] = $mainFrame;
avec$mainFrame[$value] = $site;
C'est normal que tu perdes l'affichage.
Plusieurs points importants : c'est plus qu'étrange de charger un autoload dans une vue... Une vue qui définit la racine des vues... Tout ça relève d'un fichier d'amorçage ou de configuartion (bootstrap)
L'idée d'utiliser le helper
->raw()
pour afficher du html... ce n'est pas une bonne idée du tout. C'est au bloc vue de se débrouiller pour afficher les données en provenance d'un ta…