рдЬреВрдорд▓рд╛ 1.5 рдФрд░ рд╕реАрдПрдирд╕реА

рдкреНрд░рддреНрдпреЗрдХ рд╕рд╛рдЗрдЯ рдХреЗ рд▓рд┐рдП, рдпрд╣ рдмрд╣реБрдд рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ рдХрд┐ рд╕реАрдПрдирд╕реА (рдорд╛рдирд╡-рдкрдардиреАрдп URL) рдЦреЛрдЬ рдЗрдВрдЬрди рджреНрд╡рд╛рд░рд╛ рдмрд╣реБрдд "рдкреНрдпрд╛рд░" рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реИ рдФрд░ рддрд╛рдХрд┐ рдЖрдк рдХрд┐рд╕реА рдХреАрд╡рд░реНрдб рдХреЛ рд▓рд┐рдВрдХ рдореЗрдВ рд▓рд┐рдЦ рд╕рдХреЗрдВред

рдЬреВрдорд▓рд╛ 1.5 рдХреЗ рд▓рд┐рдП, рд╕реАрдПрдирд╕реА рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрдИ рдШрдЯрдХ рд╣реИрдВред рдпреЗ рдШрдЯрдХ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рд╕рднреА рд▓рд┐рдВрдХ рд▓рд┐рдЦрдХрд░ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВред рдпрд╣ рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдкреГрд╖реНрдареЛрдВ рд╡рд╛рд▓реА рд╕рд╛рдЗрдЯ рдХреЗ рд▓рд┐рдП рдмрд┐рд▓реНрдХреБрд▓ рднреА рддрд░реНрдХрд╕рдВрдЧрдд рдирд╣реАрдВ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рдмрд╣реБрдд рдЕрдзрд┐рдХ рдбреЗрдЯрд╛ рд╕рдВрдЧреНрд░рд╣реАрдд рд╣реИред рдЗрди рдШрдЯрдХреЛрдВ рдХреЗ рд▓рд┐рдП рднреА, рдЖрдкрдХреЛ рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рдкреНрд▓рдЧрдЗрдиреНрд╕ рд▓рд┐рдЦрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рддрд╛рдХрд┐ рдпрд╣ рдЖрдкрдХреЗ рдШрдЯрдХ рдХреЗ рд▓рд┐рдВрдХ рдХреЛ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдордВрддреНрд░ рджреЗ рд╕рдХреЗред

рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдореИрдВ рдХрднреА рдЗрди рдШрдЯрдХреЛрдВ рдХрд╛ рд╕рдорд░реНрдердХ рдирд╣реАрдВ рд░рд╣рд╛ред рдПрдХ рдмрд╛рд░ рдореИрдВрдиреЗ рдХреЗрд╡рд▓ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛, рдФрд░ рдпрд╣ рдирд╣реАрдВ рдХрд╣реВрдВрдЧрд╛ рдХрд┐ рдпрд╣ рд╡рд╣реА рд╣реИ рдЬреЛ рдореИрдВ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред рд╕реАрдПрдирд╕реА рдХреА рдРрд╕реА рд╕рдВрд░рдЪрдирд╛, рдореИрдВ "рд╢рд░реНрдорд┐рдВрджрдЧреА" рдХрд╣реВрдВрдЧрд╛ред рдФрд░ рдРрд╕реЗ "shamanism" рдирд╣реАрдВ рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП, Joomla 1.5 рдореЗрдВ рдЖрдкрдХреЗ рдШрдЯрдХреЛрдВ рдХреЗ рд▓рд┐рдП рд╕реАрдПрдирд╕реА рдмрдирд╛рдиреЗ рдХреЗ рдорд╛рдирдХ рддрд░реАрдХреЗ рд╣реИрдВред

рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдкреНрд░рд╢рд╛рд╕рдирд┐рдХ рднрд╛рдЧ рдореЗрдВ, рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдореЗрдВ, рдЖрдкрдХреЛ рд╕реАрдПрдирд╕реА рдХреЛ рд╕рдХреНрд╖рдо рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдФрд░ JRoute :: _ ('рд▓рд┐рдВрдХ') рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕рднреА рд▓рд┐рдВрдХ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░реЗрдВред рд╣рдо рд╕реАрдПрдирд╕реА рдХреЗ рдирд┐рд░реНрдорд╛рдг рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВрдЧреЗ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдореЗрд░реЗ рдШрдЯрдХред

рдШрдЯрдХ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рдЫреЛрдЯреА рд╕реА рдХрд╣рд╛рдиреАред рдореИрдВрдиреЗ рдПрдХ рд╕рддреНрдпрд╛рдкрди рдкреНрд░рдгрд╛рд▓реА рдХреЗ рд╕рд╛рде рдУрд▓рдВрдкрд┐рдпрд╛рдб рд╕рдорд╕реНрдпрд╛рдУрдВ рдХрд╛ рдбреЗрдЯрд╛рдмреЗрд╕ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕ рдШрдЯрдХ рдХреЛ рдмрдирд╛рдпрд╛ред рдореИрдВрдиреЗ рдЗрд╕реЗ рдЕрдкрдиреЗ рдкрд╛рдареНрдпрдХреНрд░рдо рдХреЗ рд▓рд┐рдП рд▓рд┐рдЦрд╛ рдерд╛ред рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рд╕рдордЭрддреЗ рд╣реИрдВ, рдпрд╣ рдкреНрд░рд╕рд┐рджреНрдз acm.timus.ru рдЬреИрд╕рд╛ рдХреБрдЫ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдХрдВрдкреНрдпреВрдЯрд░ рд╡рд┐рдЬреНрдЮрд╛рди рдореЗрдВ рдУрд▓рдВрдкрд┐рдпрд╛рдб рдПрд▓реНрдЧреЛрд░рд┐рдердо рд╕рдорд╕реНрдпрд╛рдУрдВ рдХрд╛ рдПрдХ рдбреЗрдЯрд╛рдмреЗрд╕ рд╣реИред рдПрдХ рд╡реНрдпрдХреНрддрд┐ рдПрдХ рдХрд╛рд░реНрдп рдХрд╛ рдЪрдпрди рдХрд░рддрд╛ рд╣реИ, рдПрдХ рд╕рдорд╛рдзрд╛рди рднреЗрдЬрддрд╛ рд╣реИ, рдкрд░рд┐рдгрд╛рдо рдХреЛ рджреЗрдЦрддрд╛ рд╣реИ, рдкреНрд░рддреНрдпреЗрдХ рдХрд╛рд░реНрдп рдХреЗ рдЖрдВрдХрдбрд╝реЛрдВ рдХреЛ рджреЗрдЦрдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рд░рдЦрддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдПрдХ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рд╕реАрдПрдирд╕реА, рдореИрдВ рд╕рд┐рд░реНрдл рдХрд╛рд░реНрдп рдХреЛ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдирд┐рд░реНрдорд╛рдг рдХрд░реВрдВрдЧрд╛ред рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдкреНрд░рд╢реНрди рд╣реИрдВ, рддреЛ рдЕрдзрд┐рдХ рдХреЗ рд▓рд┐рдП рдХреИрд╕реЗ рдХрд░реЗрдВ, рд▓рд┐рдЦреЗрдВред рд▓реЗрдХрд┐рди рд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ, рдпрд╣ рд╕рд╛рджреГрд╢реНрдп рджреНрд╡рд╛рд░рд╛ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдФрд░ рдЗрд╕рд▓рд┐рдП, рд╣рдорд╛рд░реЗ рдШрдЯрдХ рдХреЛ com_tasks рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред рдЕрдм рд╣рдорд╛рд░реЗ рдХрдВрдкреЛрдиреЗрдВрдЯ рдХреЗ рдлреЛрд▓реНрдбрд░ рдореЗрдВ рд░рд╛рдКрдЯрд░.рдлреИрдк рдлрд╛рдЗрд▓ рдмрдирд╛рдПрдВред рдЗрд╕ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рджреЛ рдХрд╛рд░реНрдп рд╣реЛрддреЗ рд╣реИрдВ: рдлрд╝рдВрдХреНрд╢рди (рдШрдЯрдХ рдХрд╛ рдирд╛рдо) BuildRoute рд▓рд┐рдВрдХ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдлрд╝рдВрдХреНрд╢рди рд╣реИ, рдФрд░ (рдШрдЯрдХ рдирд╛рдо) ParseRoute рдХрд┐рд╕реА рд▓рд┐рдВрдХ рдХреЛ рдкрд╣рдЪрд╛рдирдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдлрд╝рдВрдХреНрд╢рди рд╣реИред рд╣рдо рдЗрди рдХрд╛рд░реНрдпреЛрдВ рдкрд░ рдмрд╛рд░реА-рдмрд╛рд░реА рд╕реЗ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВрдЧреЗред

(рдШрдЯрдХ рдХрд╛ рдирд╛рдо) BuildRoute - рд▓рд┐рдВрдХ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╛рд░реНрдп рдХрд░рддрд╛ рд╣реИ

рдлрд╝реАрдЪрд░ рд╡рд┐рд╡рд░рдг:
function TasksBuildRoute(&$query)
{}

рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдлрд╝реЙрд░реНрдо рдХрд╛ рдПрдХ рд▓рд┐рдВрдХ рд╣реИ: /index.php?option=com_tasks&view=task&id=//ttask_idasket&Itemid=2 , рд╣рдорд╛рд░рд╛ рдХрд╛рд░реНрдп / / рдХрд╛рд░реНрдп / рдпреЛрдЬрдирд╛рдиреНрддрд░реНрдЧрдд_рд╢реАрд░реНрд╖_рдкреНрд░рдХрд╛рд╢_рд╕рд╣рдпреЛрдЧ_ рдмрдирд╛рдиреЗ рд╕реЗ рд╣реИред

рдЖрдЗрдП рджреЗрдЦреЗрдВ рдХрд┐ рдЖрдИрдбреА = 1 рдХреЗ рд╕рд╛рде рдХрд╛рд░реНрдп рдХреЗ рд▓рд┐рдП рд▓рд┐рдВрдХ, $ рдХреНрд╡реЗрд░реА рд╕рд░рдгреА рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд╣рдореЗрдВ рдХреНрдпрд╛ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
 рдРрд░реЗ ( 
     [рд╡рд┐рдХрд▓реНрдк] => com_tasks 
     [рджреЗрдЦреЗрдВ] => рдХрд╛рд░реНрдп 
     [рдЖрдИрдбреА] => рез 
     [рдЖрдЗрдЯрдорд┐рдб] => реи 
 )

рдЗрд╕ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рд▓рд┐рдВрдХ рдХреЗ рдХреБрдЫ рд╣рд┐рд╕реНрд╕реЛрдВ рдХреА рдПрдХ рд╕рд░рдгреА рд╡рд╛рдкрд╕ рдХрд░рдиреА рдЪрд╛рд╣рд┐рдП рдЬреЛ рд╣рдореЗрдВ рдЪрд╛рд╣рд┐рдП, рдлрд┐рд░ рдЬреВрдорд▓рд╛ рдХреЗ рд╣рд┐рд╕реНрд╕реЛрдВ рдХреЗ рдмреАрдЪ "/" рдбрд╛рд▓рддрд╛ рд╣реИред

function TasksBuildRoute(&$query)
{
$segments = array();
if ($query[ 'view' ] == 'task' ) {
$segments[] = $query[ 'id' ]. '_' .$name;
unset($query[ 'view' ]); //
unset($query[ 'id' ]);
}
return $segments;
}

рдЗрд╕ рдлрд╝рдВрдХреНрд╢рди рдХреА рд╕рд╣рд╛рдпрддрд╛ рд╕реЗ, рд╣рдорд╛рд░реЗ рд▓рд┐рдВрдХ рдХреЛ рдлрд╝реЙрд░реНрдо рдорд┐рд▓рд╛: /component/tasks/1_.html ред

рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рд╣рдореЗрдВ рд╡рд╣ рдирд╣реАрдВ рдорд┐рд▓рд╛ рдЬреЛ рд╣рдо рдЪрд╛рд╣рддреЗ рдереЗред рдХреНрдпреЛрдВрдХрд┐ рд╣рдореЗрдВ рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдХреБрдЫ рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рдорд┐рд▓рд╛ / рдШрдЯрдХ / ред рдпрд╣ рд╢рдмреНрдж рдЬреВрдорд▓рд╛ рджреНрд╡рд╛рд░рд╛ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рдерд╛ рддрд╛рдХрд┐ рдпрд╣ рдкрддрд╛ рдЪрд▓ рд╕рдХреЗ рдХрд┐ рдХрд┐рд╕ рдШрдЯрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╣реИред рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рд▓рд┐рдВрдХ рдореЗрдВ рдХрд╛рд░реНрдп рдШрдЯрдХ рдХрд╛ рдирд╛рдо рд╣реИред рдпрджрд┐ рд╣рдо рдЕрдкрдиреЗ рдШрдЯрдХ рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рддреЗ рд╣реБрдП рдПрдХ рдореЗрдиреВ рдЖрдЗрдЯрдо рдмрдирд╛рддреЗ рд╣реИрдВ, рддреЛ рдЗрд╕ рдЖрдЗрдЯрдо рдХреЗ рд▓рд┐рдП рдЙрдкрдирд╛рдо рд╕реЗрдЯ рдХрд░реЗрдВ рдФрд░ рдЖрдЙрдЯрдкреБрдЯ рдкрд░ рд▓рд┐рдВрдХ рдореЗрдВ Itemid = {рд╣рдорд╛рд░реЗ рдШрдЯрдХ рдХрд╛ рдЖрдИрдбреА} рд▓рд┐рдЦреЗрдВ, рддреЛ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд╡рд╣ рд╣реЛрдЧрд╛ рдЬреЛ рд╣рдореЗрдВ рдЪрд╛рд╣рд┐рдПред

рдореИрдВрдиреЗ рдШрдЯрдХ рдХреЗ рд╕рдВрджрд░реНрдн рдХреЗ рд╕рд╛рде рдЯрд╛рд╕реНрдХ рдФрд░ рдЙрд░реНрдл рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рдирд╛рдо рдХреЗ рд╕рд╛рде рдПрдХ рдореЗрдиреВ рдЖрдЗрдЯрдо рдмрдирд╛рдпрд╛ рдФрд░ рдирд┐рдореНрди рд▓рд┐рдВрдХ рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛: рдХрд╛рд░реНрдп / 1_.html ред рдпрд╣рд╛рдВ рдХрд╛рд░реНрдп рдореЗрдиреВ рдЖрдЗрдЯрдо рдЙрд░реНрдл тАЛтАЛрд╣реИрдВред

рдЪрд▓реЛ рджреЗрдЦрддреЗ рд╣реИрдВ рдХрд┐ рд╣рдордиреЗ рдмрд┐рд▓реНрдб рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ рдХреНрдпрд╛ рд▓рд┐рдЦрд╛ рд╣реИред рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рд╣рдо рд╕рд░рдгреА рдХреЗ рдХреБрдЫ рддрддреНрд╡реЛрдВ рдХреЛ рд╣рдЯрд╛ рджреЗрддреЗ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рдЬрд┐рди рддрддреНрд╡реЛрдВ рдХреЛ рд╣рдо рдирд╣реАрдВ рд╣рдЯрд╛рдПрдВрдЧреЗ, рдЬреВрдорд▓рд╛ рдПрдХ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рд░реВрдк рдореЗрдВ рд╕реНрдерд╛рдирд╛рдкрдиреНрди рдХрд░реЗрдЧрд╛ред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрджрд┐ рдЖрдк рдкрд░реЗрд╢рд╛рди рдирд╣реАрдВ рд▓рд┐рдЦрддреЗ рд╣реИрдВ ($ рдХреНрд╡реЗрд░реА ['рджреГрд╢реНрдп']); , рддрдм рд╣рдореЗрдВ рдлреЙрд░реНрдо /tasks/1_.html?view=task рдХрд╛ рд▓рд┐рдВрдХ рдорд┐рд▓реЗрдЧрд╛ ред

рдореИрдВ рдЗрд╕ рддрдереНрдп рдкрд░ рднреА рдЖрдкрдХрд╛ рдзреНрдпрд╛рди рдЖрдХрд░реНрд╖рд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐ рд╣рдордиреЗ рдЕрднреА рддрдХ рдХрд╛рд░реНрдп рдХрд╛ рдирд╛рдо рдирд╣реАрдВ рдмрдврд╝рд╛рдпрд╛ рд╣реИред рд╣рдо рдХрд┐рд╕реА рджрд┐рдП рдЧрдП $ рдХреНрд╡реЗрд░реА ['рдЖрдИрдбреА'] рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рд▓рд┐рдП рдПрдХ рдирд╛рдо рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдиреБрд░реЛрдз рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд▓реЗрдХрд┐рди рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ, рдпрджрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рдкреГрд╖реНрда рдкрд░ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП 100 рд▓рд┐рдВрдХ рд╣реИрдВ, рддреЛ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ 100 рдкреНрд░рд╢реНрди рд╣реЛрдВрдЧреЗред рдФрд░ рдпрд╣ рдмрд╣реБрдд рддрд╛рд░реНрдХрд┐рдХ рдХрджрдо рдирд╣реАрдВ рд╣реИред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╣рдореЗрдВ рд╕рднреА рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рдирд╛рдо рдПрдХрддреНрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрд▓рдЧ рдлрд╝рдВрдХреНрд╢рди рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рд╣рдорд╛рд░реЗ рдШрдЯрдХ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рд╣рд╛рдпрдХ рдорд╛рд░реНрдЧ рдмрдирд╛рдПрдВред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдорд╛рд░реЗ рдШрдЯрдХ рдХреЗ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ, рд╣реЗрд▓реНрдкрд░реНрд╕ рдлрд╝реЛрд▓реНрдбрд░ рдФрд░ рдЙрд╕рдореЗрдВ path.php рдлрд╝рд╛рдЗрд▓ рдмрдирд╛рдПрдВ ред

jimport( 'joomla.application.component.helper' );

class TasksHelperRoute
{
public static $tasks = null ;
function getTasks()
{
if (self::$tasks) return self::$tasks;


$db = &JFactory::getDBO();
$query = "SELECT `id`, `name` FROM `#__tasks`" ;
$db->setQuery($query);
$res = $db->loadObjectList();
foreach ($res as $r) {
self::$tasks[$r->id] = $r->name;
}
return self::$tasks;
}


}

рдЕрдм рдЗрд╕ рдлрд╝рд╛рдЗрд▓ рдХреЛ рдХрдиреЗрдХреНрдЯ рдХрд░реЗрдВ, рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХреЙрд▓ рдХрд░реЗрдВ, рдФрд░ рдХрд╛рд░реНрдп рдХреЗ рдирд╛рдо рдХреЛ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВред

include_once(JPATH_ROOT.DS. 'components' .DS. 'com_tasks' .DS. 'helpers' .DS. 'route.php' );
function TasksBuildRoute(&$query){
$segments = array();
$tasks = TasksHelperRoute::getTasks();
if ($query[ 'view' ] == 'task' ) {
$segments[] = $query[ 'id' ]. '_' .$tasks[$query[ 'id' ]];
unset($query[ 'view' ]);
unset($query[ 'id' ]);
}
return $segments;
}

рдЕрдм рд╣рдореЗрдВ рдлреЙрд░реНрдо / рд▓рд┐рдВрдХ / 1_a_plus_b.html рдХрд╛ рд▓рд┐рдВрдХ рдорд┐рд▓ рдЧрдпрд╛ред рд╣рдо рдЗрд╕ рдХрд╛рд░реНрдп рдХреЗ рд╕рд╛рде рдореБрдХрд╛рдмрд▓рд╛ рдХрд┐рдпрд╛ред

рдЗрд╕ рддрдереНрдп рдХреЗ рдХрд╛рд░рдг рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдорджрджрдЧрд╛рд░ рд╡рд░реНрдЧ рдореЗрдВ рдПрдХ рд╕реНрдерд┐рд░ рдЪрд░ рд╣реИ, рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рд▓рд┐рдП рдЕрдиреБрд░реЛрдз рдХреЗрд╡рд▓ рдПрдХ рдмрд╛рд░ рд╣реЛрдЧрд╛ред рдЙрд╕реА рд╣реЗрд▓реНрдкрд░реЗ рдореЗрдВ, рдЖрдк рдирд╛рдо рдХреЛ рд╕рдВрднрд╛рд▓ рд╕рдХрддреЗ рд╣реИрдВ: рд░рд┐рдХреНрдд рд╕реНрдерд╛рди рд▓реЗрдВ, рд╕рднреА рд╡рд░реНрдгреЛрдВ рдХреЛ рдХрдо рдХрд░реЗрдВ, рдЖрджрд┐ред

рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕реАрдПрдирд╕реА рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рди рдХреЗрд╡рд▓ рдирд┐рд░реНрдорд╛рдг рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдмрд▓реНрдХрд┐ рд▓рд┐рдВрдХ рдХреЛ рдкрд╛рд░реНрд╕ рдХрд░рдиреЗ рдХреА рднреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╕рд┐рд╕реНрдЯрдо рд╕реЗ "рдкрд░рд┐рдЪрдп" рдХрд░реЗрдВред

(рдШрдЯрдХ рдХрд╛ рдирд╛рдо) ParseRoute - рд▓рд┐рдВрдХ рдорд╛рдиреНрдпрддрд╛ рдХреЗ рд▓рд┐рдП рдХрд╛рд░реНрдп рдХрд░рддрд╛ рд╣реИ

рдпрд╣ рдлрд╝рдВрдХреНрд╢рди рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рд╡рд░реНрдгрд┐рдд рд╣реИ:

function TasksParseRoute($segments)
{}

$ рд╕реЗрдЧрдореЗрдВрдЯ рдХрд╛ рд╕рд░рдгреА рдмрд┐рд▓рдХреБрд▓ рд╡реИрд╕рд╛ рд╣реА рд╣реИ рдЬреИрд╕рд╛ рдХрд┐ рд╣рдо рдмрд┐рд▓реНрдб рдлрд╝рдВрдХреНрд╢рдВрд╕ рдореЗрдВ рд▓реМрдЯреЗ рд╣реИрдВред рдЖрдкрдХреЛ $ vars рд╕рд░рдгреА рд╡рд╛рдкрд╕ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ , рдЬреИрд╕рд╛ рдХрд┐ рд╣рдореЗрдВ рдмрд┐рд▓реНрдб рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ рдорд┐рд▓рд╛ рдерд╛ред

рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╣рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд $ рдЦрдВрдб рджрд┐рдП рдЬрд╛рдПрдВрдЧреЗ:
 рдРрд░реЗ ( 
    [0] => 1_a_plus_b 
 )

рдЗрд╕ рдЙрджрд╛рд╣рд░рдг рдХреЗ рджреГрд╢реНрдп рдореЗрдВ , рд╣рдореЗрдВ рд╣рдореЗрд╢рд╛ рдПрдХ рдХрд╛рд░реНрдп рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рджреВрд╕рд░реЗ рдкреНрд░рдХрд╛рд░ рдХреЗ рд▓рд┐рдВрдХ рдирд╣реАрдВ рд╣реИрдВред рдФрд░ рдЕрдм рд╣рдореЗрдВ {id} _ {name } рд▓рд╛рдЗрди рд╕реЗ {id} рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдпрд╣ рдХреЗрд╡рд▓ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

function TasksParseRoute($segments)
{
$vars[ 'view' ] = 'task' ;
$vars[ 'id' ] = substr($segments[0], 0, strpos( '_' , $segments[0])+1);
return $vars;
}

рдЦреИрд░, рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рд╣рдордиреЗ рд╕рд┐рд╕реНрдЯрдо рдХреЛ рдЕрдкрдиреЗ рд▓рд┐рдВрдХ рд╕реЗ рдкрд░рд┐рдЪрд┐рдд рдХрд░рд╛рдпрд╛ред

рд╣рдордиреЗ рд╕рдмрд╕реЗ рдЖрд╕рд╛рди рдЙрджрд╛рд╣рд░рдгреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдХреА рдЬрд╛рдВрдЪ рдХреАред рдЖрдк рдЗрд╕ рдЙрджрд╛рд╣рд░рдг рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рдЦреБрдж рдХреЛ рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВред рдкреНрд░рд╢реНрдиреЛрдВ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛, рд╕реБрдзрд╛рд░ рдХреЗ рд▓рд┐рдП рд╕реБрдЭрд╛рд╡, рдЖрд▓реЛрдЪрдирд╛ред

Source: https://habr.com/ru/post/In113455/


All Articles