Malá/velká písmena v překladové tabulce pro action
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- Lawondyss
- Člen | 106
Zdravím lidi,
v presenteru mám tyto metody:
class CompanyPresenter extend Presenter {
public function renderDefault(){}
public function renderBusinessPlaces(){}
public function renderBusinessPlace($id){}
public function renderTransactionsHistory(){}
public function renderContacts(){}
public function renderContact($id){}
public function createComponentCompanyBusinessPlaceForm(){}
public function companyBusinessPlaceFormSucceeded($form, $values){}
}
Při definici routy, konkrétně překladové tabulky pro action, jsem narazil na zajímavý jev. Někdy je potřeba začít název action velkým písmenem a jindy malým.
$router[] = new Route('moje-firma/<action>[/<id>]', array(
'presenter' => 'Company',
'action' => array(
Route::FILTER_TABLE => array(
'provozovny' => 'BusinessPlaces',
'provozovna' => 'businessPlace',
'historie-transakci' => 'transactionsHistory',
'kontakty' => 'Contacts',
'kontakt' => 'contact',
),
),
));
Když všude nasázím první písmeno malé, v případech, kdy je vyžadováno velké se odkaz sestáví tak, že tabulku ignoruje (action má původní název). Po kliknutí na takový odkaz ale dojde k dvojímu přesměrování. Druhé přesměrování pak vede na stránku podle tabulky.
Příklad:
n:href="Company:contact" --> přesměrováno na: moje-firma/kontakt
n:href="Company:contacts" --> přesměrováno na: moje-firma/contacts --> přesměrováno na: moje-firma/kontakty
Může mi někdo vysvětlit, proč k tomu dochází a jaká jsou pro to pravidla?