From: Steve Sutton Date: Thu, 10 Mar 2016 20:50:57 +0000 (-0500) Subject: Setting up the detail page X-Git-Tag: v1.0.0^2~164^2~10 X-Git-Url: http://cvs2.gaslightmedia.com/gitweb/?a=commitdiff_plain;h=486c0a8c3512e1f65f7cf6a91a546db455fb55d0;p=WP-Plugins%2Fglm-member-db-events.git Setting up the detail page Rewrite for wordpress Setup the get event function to pull data from the data abstract class for event data --- diff --git a/models/front/events/baseAction.php b/models/front/events/baseAction.php index 3be1e38..68b104a 100644 --- a/models/front/events/baseAction.php +++ b/models/front/events/baseAction.php @@ -51,8 +51,6 @@ abstract class GlmMembersFront_events_baseAction extends GlmDataEvents public function getModelEventsData($categoryId = null, $limit = null) { - //echo '
categoryId: ' . print_r( $categoryId, true ) . '
'; - //echo '
limit: ' . print_r( $limit, true ) . '
'; 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); } /** diff --git a/models/front/events/detail.php b/models/front/events/detail.php index 7b284fb..4ec22fa 100644 --- a/models/front/events/detail.php +++ b/models/front/events/detail.php @@ -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: diff --git a/models/front/events/list.php b/models/front/events/list.php index 8a45bef..70fb67b 100644 --- a/models/front/events/list.php +++ b/models/front/events/list.php @@ -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 '
' . print_r( $catEvents, true ) . '
'; if ( !empty($catEvents) ) { $categoryEvents[$catid] = $catEvents; } diff --git a/setup/frontHooks.php b/setup/frontHooks.php index d51f93d..3c4e751 100644 --- a/setup/frontHooks.php +++ b/setup/frontHooks.php @@ -29,13 +29,13 @@ // 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; }); diff --git a/views/front/events/dashboard.html b/views/front/events/dashboard.html index 440f90d..51ab291 100644 --- a/views/front/events/dashboard.html +++ b/views/front/events/dashboard.html @@ -21,7 +21,7 @@ {/if}
  • {$event.starting_date|date_format}
    - + {$event.name}
  • diff --git a/views/front/events/detail.html b/views/front/events/detail.html index 2eb5f69..dffdfdd 100644 --- a/views/front/events/detail.html +++ b/views/front/events/detail.html @@ -5,7 +5,7 @@
    -

    {$event.title}

    +

    {$event.name}