Virtualname

class Nos\Orm_Behaviour_Virtualname
Adds a slug property to item.
The slug is automatically generated based on the title_property of the model if it is not specified.
If Orm_Behaviour_Virtualname::$unique is set, ->save() method can throw an Exception if slug already in use.

Configuration

property Nos\Orm_Behaviour_Virtualname::$virtual_name_property

Required. Column used to store the slug.

property Nos\Orm_Behaviour_Virtualname::$unique

true, false or 'context' if uniqueness must be checked by context.

Methods

Nos\Orm_Behaviour_Virtualname::virtual_name($virtual_name = null)

Getter and setter for the virtual_name. Setter if a $slug is passed in parameters.

When use as setter, the new virtual name is transform to friendly slug.

Parameters:
  • $virtual_name (string) – The new virtual name
Returns:

The item slug.

Nos\Orm_Behaviour_Virtualname::friendly_slug($slug)
Parameters:
  • $slug (string) – A slug to clean.
Returns:

A clean slug, lowercase, without forbidden characters.

Example

<?php
class Model_Monkey extends \Nos\Orm\Model
{
        protected static $_behaviours = array(
                'Nos\Orm_Behaviour_Virtualname' => array(
                        'events' => array('before_save', 'after_save'),
                        'virtual_name_property' => 'monk_virtual_name',
                ),
        );
}