setIcon('event') ->make([ 'rewrite' => [ 'slug' => 'events', 'with_front' => false, ], 'taxonomies' => [ 'shop', 'city', 'event_type' ], ]) ->setAll([ 'show_directory', 'favouritable', 'karma', 'show_feed', 'is_calendar' ]) ->setIntegration('facebook') ->setIntegration('instagram'); //$directory = $event->getConfig('directory'); } function aei_event_fields():void { if (!class_exists('JVBase\registrar\Registrar')) { return; } $event = Registrar::getInstance('event'); // $breadcrumbs = $event->config('breadcrumbs'); // $breadcrumbs->setCrumb('section'); $fields = $event->fields(); $fields->modifyField('post_thumbnail', 'label', 'Event Poster'); $fields->modifyField('post_content', 'label', 'About the Event'); $fields->addField('gallery', [ 'type' => 'upload', 'label' => 'Additional Images', ]); $fields->addField('city', [ 'type' => 'selector', 'subtype' => 'taxonomy', 'taxonomy' => 'city', 'label' => 'City', ]); $fields->addField('shop', [ 'type' => 'selector', 'subtype' => 'taxonomy', 'taxonomy' => 'shop', 'label' => 'Tattoo Shop', ]); $fields->addField('event_type', [ 'type' => 'selector', 'subtype' => 'taxonomy', 'taxonomy' => 'event_type', 'label' => 'Type of Event', ]); $fields->addField('url', [ 'type' => 'text', 'subtype' => 'url', 'label' => 'URL for More Information', ]); $fields->addField('purchase_url', [ 'type' => 'text', 'subtype' => 'url', 'label' => 'Purchase link', ]); $fields->addField('cost', [ 'type' => 'text', 'subtype' => 'number', 'label' => 'Cost (leave blank for free)' ]); $fields->addField('max_attendees', [ 'type' => 'text', 'subtype' => 'number', 'label' => 'Maximum Attendees' ]); } function aei_event_schema():array { return [ 'type' => 'JVBase\managers\SEO\render\Thing\Event', 'name' => '{{post_title}} | by {{post_author.name}} {{post_author.city}} Event Artist', ]; } function aei_event_meta():array { return[ 'name' => '{{post_title}} | by {{post_author.name}} {{post_author.city}} Event Artist', 'description' => '{{style}} {{colour}} {{theme}} event in {{post_author.city}}.', ]; } function aei_event_archive(array $defaults):array { return array_merge($defaults, [ 'name' => 'Edmonton\'s Best Events', 'description' => 'Events in Edmonton, Alberta.' ]); } function aei_event_reference_schema(array $defaults):array { return $defaults; }