par
Yosh » 12 nov. 2012, 21:06
Dans le readme on voit que pour ajouter une vue il faut la déclarer dans services.xml (au passage si quelqu'un sait comment on dit à Symfony qu'on veut utiliser le fichier YAML au lieu du XML ça m'intéresse):
Code : Tout sélectionner
<service id="pagerfanta.view.default" class="Pagerfanta\View\DefaultView" public="false">
<tag name="pagerfanta.view" alias="default" />
</service>
Yo,
Juste quelques précisions,
Pour charger un fichier de service en Yaml, il te faut simplement utiliser le bon FileLoader.
En gros, tu créé un répertoire DependencyInjection dans ton bundle, dans lequel tu va ajouter ton extension (ex: MonProjetMonBundleExtension.php) et via la méthode load de la classe tu charge le fichier que tu veux:
<?php
namespace MonProjet\Bundle\MonBundle\DependencyInjection;
use Symfony\Component\HttpKernel\DependencyInjection\Extension,
Symfony\Component\DependencyInjection\ContainerBuilder,
Symfony\Component\DependencyInjection\Loader\YamlFileLoader,
Symfony\Component\Config\FileLocator;
class MonProjetMonBundleExtension extends Extension
{
public function load(array $configs, ContainerBuilder $container)
{
$loader = new YamlFileLoader($container, new FileLocator(__DIR__.'/../Resources/config'));
$loader->load('services.yml');
}
}
Si tu veux charger le fichier de service en XML tu charge XmlFileLoader au lieu de YmlFileLoader.
EDIT: concernant la surcharge de vue de bundle, normalement le simple fait de créer un répertoire du nom du Bundle et d'y coller les fichiers .html.twig suffit. Mais je n'utilise pas le pagerfanta et la doc n'est pas très clair, j'utilise le bundle KnpPaginator pour faire cela, il est plutôt flexible. Si tu as besoin d'aide sur d'autre point, je peux t'aider, je suis en plein dedans

[quote="ouckileou"]
Dans le readme on voit que pour ajouter une vue il faut la déclarer dans services.xml (au passage si quelqu'un sait comment on dit à Symfony qu'on veut utiliser le fichier YAML au lieu du XML ça m'intéresse):
[code]<service id="pagerfanta.view.default" class="Pagerfanta\View\DefaultView" public="false">
<tag name="pagerfanta.view" alias="default" />
</service>[/code]
[/quote]
Yo,
Juste quelques précisions,
Pour charger un fichier de service en Yaml, il te faut simplement utiliser le bon FileLoader.
En gros, tu créé un répertoire DependencyInjection dans ton bundle, dans lequel tu va ajouter ton extension (ex: MonProjetMonBundleExtension.php) et via la méthode load de la classe tu charge le fichier que tu veux:
[php]
<?php
namespace MonProjet\Bundle\MonBundle\DependencyInjection;
use Symfony\Component\HttpKernel\DependencyInjection\Extension,
Symfony\Component\DependencyInjection\ContainerBuilder,
Symfony\Component\DependencyInjection\Loader\YamlFileLoader,
Symfony\Component\Config\FileLocator;
class MonProjetMonBundleExtension extends Extension
{
public function load(array $configs, ContainerBuilder $container)
{
$loader = new YamlFileLoader($container, new FileLocator(__DIR__.'/../Resources/config'));
$loader->load('services.yml');
}
}
[/php]
Si tu veux charger le fichier de service en XML tu charge XmlFileLoader au lieu de YmlFileLoader.
EDIT: concernant la surcharge de vue de bundle, normalement le simple fait de créer un répertoire du nom du Bundle et d'y coller les fichiers .html.twig suffit. Mais je n'utilise pas le pagerfanta et la doc n'est pas très clair, j'utilise le bundle KnpPaginator pour faire cela, il est plutôt flexible. Si tu as besoin d'aide sur d'autre point, je peux t'aider, je suis en plein dedans :)