diff --git a/ezpublish/config/ezpublish.yml b/ezpublish/config/ezpublish.yml new file mode 100644 index 0000000..0c37304 --- /dev/null +++ b/ezpublish/config/ezpublish.yml @@ -0,0 +1,56 @@ +# import the ezpublish.yml from your Bundle +imports: + - {resource: @EzTutorialBikeBundle/Resources/config/ezpublish.yml} + +ezpublish: + repositories: + demo_repository: + engine: legacy + connection: default + + siteaccess: + # Available siteaccesses + list: + - demo_site + - gobike + + # Siteaccess groups. Use them to group common settings. + groups: + demo_site_group: [demo_site, gobike] + default_siteaccess: demo_site + match: + URIElement: 1 + + imagemagick: + enabled: false + + # System settings, grouped by siteaccess and/or siteaccess group + system: + demo_site_group: + repository: demo_repository + var_dir: var/ezdemo_site + languages: + - eng-GB + session: + name: eZSESSID + default: + content: + view_cache: true + ttl_cache: true + # TTL cache (http) in seconds + # Note that Http cache for a given content is always invalidated when publishing that content + default_ttl: 300 + +# Stash is used for persistence cache +stash: + caches: + default: + drivers: + # When using multiple webservers, you must use Memcache or Redis + - FileSystem + inMemory: true + registerDoctrineAdapter: false + # On Windows, using FileSystem, to avoid hitting filesystem limitations + # you need to change the keyHashFunction used to generate cache directories to "crc32" + # FileSystem + # keyHashFunction: crc32 \ No newline at end of file diff --git a/src/EzTutorial/BikeBundle/Controller/DefaultController.php b/src/EzTutorial/BikeBundle/Controller/DefaultController.php index 4046114..04e7571 100644 --- a/src/EzTutorial/BikeBundle/Controller/DefaultController.php +++ b/src/EzTutorial/BikeBundle/Controller/DefaultController.php @@ -2,7 +2,6 @@ namespace EzTutorial\BikeBundle\Controller; -use Doctrine\Common\Collections\Criteria; use eZ\Bundle\EzPublishCoreBundle\Controller; use eZ\Publish\API\Repository\Values\Content\LocationQuery; use eZ\Publish\API\Repository\Values\ValueObject; @@ -15,42 +14,34 @@ class DefaultController extends Controller { - public function indexAction($name) - { - $rideList = $this->findRidesAction(65); - return $this->render('EzTutorialBikeBundle:Default:index.html.twig', array('name' => $name, 'rideList' => $rideList)); - } - /** * @return Response */ - public function listRidesAction() + public function indexAction() { - $response = new Response(); - $rides = null; - - - // Using the criteria helper (a demobundle custom service) to generate our query's criteria. - // This is a good practice in order to have less code in your controller. - $criteria = new Criteria(); - - // Generating query - $query = new Query(); - $query->criterion = $criteria; - $query->sortClauses = array( - new SortClause\Field('ride', 'creation_date', Query::SORT_DESC) - ); + $folderId = 124; + $rideList = $this->findRidesAction($folderId); + return $this->render('EzTutorialBikeBundle:Default:index.html.twig', array('rideList' => $rideList)); + } - $rides = $this->searchService->findContent($query); - return $this->render( - 'EzTutorialBikeBundle:frontpage.html.twig', - array( - 'content' => $rides, - ), - $response + /** + * Renders article with extra parameters that controls page elements visibility such as image and summary + * + * @param $locationId + * @param $viewType + * @param bool $layout + * @param array $params + * @return \Symfony\Component\HttpFoundation\Response + */ + public function showRideAction($locationId, $viewType, $layout = false, array $params = array()) + { + return $this->get('ez_content')->viewLocation( + $locationId, + $viewType, + $layout, + array() + $params ); - } /** @@ -78,7 +69,7 @@ public function findRidesAction($folderId) $criteria = array(); $criteria[] = new Criterion\Visibility(Criterion\Visibility::VISIBLE); $criteria[] = new Criterion\Subtree($location->pathString); - $criteria[] = new Criterion\ContentTypeIdentifier(array('ride')); + $criteria[] = new Criterion\ContentTypeIdentifier(array('ride2')); $criteria[] = new Criterion\LanguageCode($languages); // Generating query to retrieve only Rides @@ -86,7 +77,7 @@ public function findRidesAction($folderId) $query->criterion = new Criterion\LogicalAnd( array( new Criterion\ParentLocationId($folderId), - new Criterion\ContentTypeIdentifier(array('ride')) + new Criterion\ContentTypeIdentifier(array('ride','ride2')) ) ); $searchService = $repository->getSearchService(); diff --git a/src/EzTutorial/BikeBundle/Resources/config/ezpublish.yml b/src/EzTutorial/BikeBundle/Resources/config/ezpublish.yml new file mode 100644 index 0000000..90db690 --- /dev/null +++ b/src/EzTutorial/BikeBundle/Resources/config/ezpublish.yml @@ -0,0 +1,2 @@ +imports: + - { resource: @EzTutorialBikeBundle/Resources/config/template_rules.yml } \ No newline at end of file diff --git a/src/EzTutorial/BikeBundle/Resources/config/routing.yml b/src/EzTutorial/BikeBundle/Resources/config/routing.yml index 7838847..9c2c10b 100644 --- a/src/EzTutorial/BikeBundle/Resources/config/routing.yml +++ b/src/EzTutorial/BikeBundle/Resources/config/routing.yml @@ -1,3 +1,7 @@ ez_tutorial_bike_homepage: - path: /hello/{name} + path: /hello defaults: { _controller: EzTutorialBikeBundle:Default:index } + +ez_tutorial_bike_ride_full: + path: /ride/:id + defaults: { _controller: EzTutorialBikeBundle:Default:ride } \ No newline at end of file diff --git a/src/EzTutorial/BikeBundle/Resources/config/template_rules.yml b/src/EzTutorial/BikeBundle/Resources/config/template_rules.yml new file mode 100644 index 0000000..caabec4 --- /dev/null +++ b/src/EzTutorial/BikeBundle/Resources/config/template_rules.yml @@ -0,0 +1,18 @@ +ezpublish: + system: + default: + location_view: + line: + ride_line: + template: "EzTutorialBikeBundle:line:ride.html.twig" + match: + Identifier\ContentType: [ride, ride2] #I had to recreate the Contenttype so I am using ride2 + poi: + template: "EzTutorialBikeBundle:line:poi.html.twig" + match: + Identifier\ContentType: [poi] + full: + ride: + template: "EzTutorialBikeBundle:full:ride.html.twig" + match: + Identifier\ContentType: [ride, ride2] diff --git a/src/EzTutorial/BikeBundle/Resources/views/Default/index.html.twig b/src/EzTutorial/BikeBundle/Resources/views/Default/index.html.twig index c7e58c7..9cd7e7e 100644 --- a/src/EzTutorial/BikeBundle/Resources/views/Default/index.html.twig +++ b/src/EzTutorial/BikeBundle/Resources/views/Default/index.html.twig @@ -1,7 +1,6 @@ -
@@ -10,63 +9,20 @@