/** * Multi slug method * * Handle both slug and label fields using the translate behavior, and being edited * in multiple locales at once * * @param Model $Model * @return void */ protected function _multiSlug(Model $Model) { extract($this->settings[$Model->alias]); $data = $Model->data; $field = current($label); foreach ($Model->data[$Model->alias][$field] as $locale => $_) { foreach ($label as $field) { if (is_array($data[$Model->alias][$field])) { $Model->data[$Model->alias][$field] = $Model->slug($data[$Model->alias][$field][$locale]); } } $this->beforeValidate($Model); $data[$Model->alias][$slugField][$locale] = $Model->data[$Model->alias][$field]; } $Model->data = $data; }
/** * Return model id for routing/URLs * * @static * @param Model $model * @return string */ public static function model_id(Model $model) { return URL::title($model->id() . ' ' . $model->slug(), '-', true); }