Setting up the detail page
authorSteve Sutton <steve@gaslightmedia.com>
Thu, 10 Mar 2016 20:50:57 +0000 (15:50 -0500)
committerSteve Sutton <steve@gaslightmedia.com>
Thu, 10 Mar 2016 20:50:57 +0000 (15:50 -0500)
Rewrite for wordpress
Setup the get event function to pull data from the data abstract class
for event data

models/front/events/baseAction.php
models/front/events/detail.php
models/front/events/list.php
setup/frontHooks.php
views/front/events/dashboard.html
views/front/events/detail.html

index 3be1e38..68b104a 100644 (file)
@@ -51,8 +51,6 @@ abstract class GlmMembersFront_events_baseAction extends GlmDataEvents
 
     public function getModelEventsData($categoryId = null, $limit = null)
     {
-        //echo '<pre>categoryId: ' . print_r( $categoryId, true ) . '</pre>';
-        //echo '<pre>limit: ' . print_r( $limit, true ) . '</pre>';
         if ($categoryId) {
             return $this->getEventsByCategory( $categoryId, $limit );
         } else {
@@ -62,10 +60,7 @@ abstract class GlmMembersFront_events_baseAction extends GlmDataEvents
 
     public function getModelEventData($eventId)
     {
-        $events = $this->getModelEventsData();
-        return array_filter($events, function($data) use($eventId) {
-             return $data['id'] == $eventId;
-        });
+        return $this->getEntry($eventId);
     }
 
     /**
index 7b284fb..4ec22fa 100644 (file)
@@ -38,6 +38,15 @@ class GLmMembersFront_events_detail extends GlmMembersFront_events_baseAction
         if ($eventId = filter_var($_REQUEST['eventId'], FILTER_VALIDATE_INT)) {
             $search = true;
             $action = 'event-detail';
+        } else {
+            $search = true;
+            $action = 'event-detail';
+            $eventslug =  get_query_var( 'eventslug' );
+            $sql = "
+                SELECT id
+                  FROM ".GLM_MEMBERS_EVENTS_PLUGIN_DB_PREFIX. "events
+                  WHERE name_slug = '$eventslug'";
+            $eventId = $this->wpdb->get_var($sql);
         }
 
         $categories = $this->getCategories();
@@ -53,9 +62,7 @@ class GLmMembersFront_events_detail extends GlmMembersFront_events_baseAction
 
         switch ($action) {
         case 'event-detail':
-            $events = $this->getModelEventData($eventId);
-            $events = array_values($events);
-            $event = $events[0];
+            $event = $this->getModelEventData($eventId);
             $view = 'detail.html';
             break;
         default:
index 8a45bef..70fb67b 100644 (file)
@@ -87,7 +87,6 @@ class GlmMembersFront_events_list extends GlmMembersFront_events_baseAction
             $view = 'dashboard.html';
             foreach ( $categories as $catid => $catData ) {
                 $catEvents = $this->getModelEventsData( $catid, 3 );
-                //echo '<pre>' . print_r( $catEvents, true ) . '</pre>';
                 if ( !empty($catEvents) ) {
                     $categoryEvents[$catid] = $catEvents;
                 }
index d51f93d..3c4e751 100644 (file)
 // Setup rewrite for member detail pages
 add_filter('rewrite_rules_array', function($rules) {
     $newrules = array();
-    $newrules['('.$this->config['settings']['canonical_event_page'].')/([^/]*)$'] = 'index.php?pagename=$matches[1]&eventId=$matches[2]';
+    $newrules['('.$this->config['settings']['canonical_event_page'].')/([^/]*)$'] = 'index.php?pagename=$matches[1]&eventslug=$matches[2]';
     return $newrules + $rules;
 });
 
-// Add eventId query var
+// Add eventslug query var
 add_filter('query_vars', function($vars) {
-    array_push($vars, 'eventId');
+    array_push($vars, 'eventslug');
     return $vars;
 });
 
index 440f90d..51ab291 100644 (file)
@@ -21,7 +21,7 @@
                     {/if}
                 <li class="description text-left">
                     {$event.starting_date|date_format}<br>
-                    <a href="{$siteBaseUrl}event-detail/{$event.slug}">
+                    <a href="{$siteBaseUrl}event-detail/{$event.name_slug}/">
                     {$event.name}
                     </a>
                 </li>
index 2eb5f69..dffdfdd 100644 (file)
@@ -5,7 +5,7 @@
     </div>
     <div class="row">
         <div class="small-12 column">
-            <h1>{$event.title}</h1>
+            <h1>{$event.name}</h1>
         </div>
         <div class="small-12 column">
             <img style="margin: 15px;" src="http://placehold.it/730x280">