CakePHP: Сохранить заголовок в столбце слаг - PullRequest
1 голос
/ 12 августа 2011

У меня есть таблица базы данных с именем posts, в которой есть id, title, slug и content

Я хочу автоматически заполнить столбец слагов измененной версией заголовка, который был введен при создании или редактировании сообщения.

Так, например, если бы я создал пост под названием: «Добро пожаловать в мой блог», для этого поста будет сохранен следующий фрагмент: «Welcome_to_my_Blog».

Полагаю, это то, что вы бы сделали в контроллере?

Кто-нибудь может помочь? Спасибо

Ответы [ 3 ]

1 голос
/ 12 августа 2011

Я использую плагин CakeDC Utils , он имеет «медленное» поведение, и вы просто устанавливаете имя поля слага, и он автоматически сохраняет слаг из поля nameможете указать другое поле, если вам нужно).После того, как вы поместили его в папку с плагинами, вот мои настройки:

public $actsAs = array(
    'Utils.Sluggable' => array(
        'label' => 'name',
        'method' => 'multibyteSlug',
        'separator' => '-'
    )
);

Убедитесь, что в вашей базе данных есть поле slug.

0 голосов
/ 12 августа 2011

Я бы не использовал слагов (технически) для указания на контент.Вам, вероятно, лучше использовать идентификатор и включать слаг в URL только для целей SEO.Это может быть легко достигнуто при необходимости с помощью метода Inflector :: slug (), встроенного в Cake.

См. Также мой пост здесь: CakePHP: использовать заголовок сообщения в качестве слаг для метода просмотра

0 голосов
/ 12 августа 2011

вы можете сделать это либо в контроллере, либо в модели, когда сохраните сообщение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...