Переглянути джерело

Adjust package URL to use name instead of id

Jordi Boggiano 14 роки тому
батько
коміт
a213b4c534

+ 5 - 5
src/Packagist/WebBundle/Controller/WebController.php

@@ -116,16 +116,16 @@ class WebController extends Controller
 
     /**
      * @Template()
-     * @Route("/view/{id}", name="view")
+     * @Route("/view/{name}", name="view")
      */
-    public function viewAction($id)
+    public function viewAction($name)
     {
         $package = $this->getDoctrine()
             ->getRepository('PackagistWebBundle:Package')
-            ->findOneById($id);
+            ->findOneByName($name);
 
-        if (empty($package)) {
-            throw new NotFoundHttpException();
+        if (!$package) {
+            throw new NotFoundHttpException('The requested package, '.$name.', was not found.');
         }
 
         return array('package' => $package);

+ 1 - 1
src/Packagist/WebBundle/Resources/views/Web/index.html.twig

@@ -4,7 +4,7 @@
     <h1>Packages</h1>
     {% for package in packages %}
         <section class="package">
-            <h2><a href="{{ url('view', { 'id' : package.id }) }}">{{ package.name }}</a></h2>
+            <h2><a href="{{ url('view', { 'name' : package.name }) }}">{{ package.name }}</a></h2>
             {% if package.versions|length %}
                 <p class="description">{{ package.versions[0].description }}</p>
                 <p class="license">License: {{ package.versions[0].license|default("Unknown") }}</p>