/** * Set default names for views and models * * @param array An optional associative array of configuration settings. * @return void */ protected function _setDefaultNames($config = array()) { parent::_setDefaultNames($config); $prefix = strtolower($this->getName()); $suffix = strtolower($this->getNameSuffix()); // Grid view name if (array_key_exists('list_view', $config)) { $this->_listView = $config['list_view']; } else { if (EInflector::isSingular($this->_defaultView)) { $this->_listView = EInflector::pluralize($this->_defaultView); } else { $this->_listView = $this->_defaultView; } } // Edit view name if (array_key_exists('item_view', $config)) { $this->_itemView = $config['item_view']; } else { $singularView = EInflector::singularize($this->_listView); if (!empty($singularView)) { $this->_itemView = $singularView; } else { if (!empty($suffix)) { $this->_itemView = $suffix; } else { $this->_itemView = $prefix; } } } }
public function testOverride() { EInflector::addWord('test', 'different_plural'); $this->assertEquals('test', EInflector::singularize('different_plural')); $this->assertEquals('different_plural', EInflector::pluralize('test')); }