Magento рдореЗрдВ рдЕрддреБрд▓рдиреАрдп рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рдбреАрдмрдЧ рдХрд░рдирд╛

рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдореИрдЧреЗрдВрдЯреЛ рдХреЗ рд▓рд┐рдП рдореЙрдбреНрдпреВрд▓ рдХреЗ рдкреНрд░рддреНрдпреЗрдХ рдбреЗрд╡рд▓рдкрд░ рдПрдХ рдРрд╕реА рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдЧрд┐рд░ рдЧрдП рдЬрд╣рд╛рдВ рд╕рдм рдХреБрдЫ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдпрд╣ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рд╕рдЪ рд╣реИ: рдПрдХ рд░рд╛рдЙрдЯрд░ рдмрдирд╛рдпрд╛, рдФрд░ 404 рдкреГрд╖реНрдареЛрдВ рдХреЛ рджрд┐рдпрд╛, рдПрдХ рд▓реЗрдЖрдЙрдЯ рдмрдирд╛рдпрд╛, рд▓реЗрдХрд┐рди рд╕рд╛рдордЧреНрд░реА рдкреНрд░рджрд░реНрд╢рд┐рдд рдирд╣реАрдВ рдХреА рдЧрдИ, рдПрдХ рдЯреЗрдореНрдкрд▓реЗрдЯ рдмрдирд╛рдпрд╛, рдФрд░ рдкреЗрдЬ рдЕрднреА рднреА рдЦрд╛рд▓реА рд╣реИред рдРрд╕реА рд╕реНрдерд┐рддрд┐ рдХреА рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╡рд┐рд╢реЗрд╖рддрд╛ рдпрд╣ рд╣реИ рдХрд┐, рдПрдХ рдирд┐рдпрдо рдХреЗ рд░реВрдк рдореЗрдВ, Magento рдХрд┐рд╕реА рднреА рддрд░рд╣ рд╕реЗ рдЙрди рдкрд░ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ (рдХреЛрдИ рддреНрд░реБрдЯрд┐ рдЙрддреНрдкрдиреНрди рдирд╣реАрдВ рд╣реЛрддреА рд╣реИ, рд▓реЙрдЧ рдЦрд╛рд▓реА рд░рд╣рддреЗ рд╣реИрдВ)ред рдпрд╣ рдРрд╕реА рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рдбреАрдмрдЧ рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣реИ рдЬрд┐рдирдХреА рдЪрд░реНрдЪрд╛ рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ рдХреА рдЬрд╛рдПрдЧреАред

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

рддреЛ рдЪрд▓рд┐рдП!

рдореИрдВрдиреЗ рдЗрд╕рдХреЗ рд▓рд┐рдП рдПрдХ рд░рд╛рдЙрдЯрд░ рдФрд░ рдХрдВрдЯреНрд░реЛрд▓рд░ рдмрдирд╛рдпрд╛, рд▓реЗрдХрд┐рди рдореИрдЧреЗрдВрдЯреЛ 404 рдкреЗрдЬ рджрд┐рдЦрд╛рддрд╛ рд╣реИ


рдРрд╕рд╛ рдХреНрдпреЛрдВ рд╣реЛ рд░рд╣рд╛ рд╣реИ:

рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ, рдирд┐рдпрдВрддреНрд░рдХ рд╡рд░реНрдЧ рд╡рд╛рд▓реА рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдирд╛рдо рдЧрд▓рдд рд╣реИ, рдкрде рд╡рд░реНрдЧ рдХреЗ рдирд╛рдо рд╕реЗ рдореЗрд▓ рдирд╣реАрдВ рдЦрд╛рддрд╛ рд╣реИ, рд╡рд░реНрдЧ рдирд╛рдо рдЧрд▓рдд рд╣реИ, рдФрд░ рдЗрд╕реА рддрд░рд╣ рдХреА рддреНрд░реБрдЯрд┐рдпрд╛рдВ рд╣реИрдВред рдпрд╣ рд▓рд╛рдкрд░рд╡рд╛рд╣реА рдХреЗ рдХрд╛рд░рдг рд╕рд┐рд░реНрдл рдПрдХ рдЯрд╛рдЗрдкреЛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдРрд╕рд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдЖрдк рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдпрд╣ рди рд╕рдордЭреЗрдВ рдХрд┐ рдореИрдЧреЗрдВрдЯреЛ рдЕрдиреБрд░реЛрдз рдХреЛ рдлреНрд░рдВрдЯрдиреЗрдо, рдХрдВрдЯреНрд░реЛрд▓рд░рдиреЗрдо рдФрд░ рдПрдХреНрд╢рдирдирд╛рдо рдореЗрдВ рдХреИрд╕реЗ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рддрд╛ рд╣реИред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдореИрдВ рдирд┐рдпрдВрддреНрд░рдХ рдХреЗ рдирд╛рдо рдХрд╛ рдирд┐рд░реНрдзрд╛рд░рдг рдХрд░рдиреЗ рдкрд░ рдЕрд▓рд╛рдирд╛ рд╕реНрдЯреНрд░реЙрдорд╛ рджреНрд╡рд╛рд░рд╛ рдПрдХ рд▓реЗрдЦ рдкрдврд╝рдиреЗ рдХреА рд╕рд▓рд╛рд╣ рджреЗрддрд╛ рд╣реВрдВред

рдХреЗрд╡рд▓ рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг рдЬреЛ рд╢реБрд░реБрдЖрддреА рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рд╡рд╣ рдкреГрд╖реНрда рдкрддреЗ рдореЗрдВ рдирд┐рдпрдВрддреНрд░рдХ рдХреЗ рдирд╛рдо рдХреЛ рдХреИрд╕реЗ рджрд░реНрдЬ рдХрд┐рдпрд╛ рдЬрд╛рдП, рдЬреЛ рдирд┐рдпрдВрддреНрд░рдХ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕рдХреЗ рдЙрдкрдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛рдУрдВ рдореЗрдВ рд╣реИред рдпрд╣ рдмрд╣реБрдд рдЖрд╕рд╛рди рд╣реИ, рд▓реЗрдХрд┐рди рдХрднреА-рдХрднреА рдпрд╣ рдПрдХ рд╕рдорд╕реНрдпрд╛ рд╣реИред

рддреЛ, рдЖрдкрдХреЛ рдЕрдВрдд рдореЗрдВ "Namespace_ModuleName_" рдФрд░ рд╢рдмреНрдж "рдирд┐рдпрдВрддреНрд░рдХ" рдХреЗ рдмреАрдЪ рдирд┐рдпрдВрддреНрд░рдХ рдХреЗ рдирд╛рдо рдХрд╛ рдПрдХ рдЯреБрдХрдбрд╝рд╛ рд▓реЗрдирд╛ рд╣реЛрдЧрд╛ рдФрд░ рдЗрд╕реЗ рдХрдо рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдирд╛рдо рдХрд╛ рдирд╛рдо Namespace_ModuleName_Subfolder1_Subfolder2_IndexController, рдкрддрд╛ рдкрдВрдХреНрддрд┐ рдореЗрдВ рдирд┐рдпрдВрддреНрд░рдХ рдХрд╛ рдирд╛рдо рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕рдмрдлрд╝реЛрд▓реНрдбрд░ 1_subolder2_index рд╣реЛрдЧрд╛ред

рдбрд┐рдмрдЧ рдХреИрд╕реЗ рдХрд░реЗрдВ:

рддреЛ, рдЖрдк рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдирд┐рдпрдВрддреНрд░рдХ рдХрд╛ рдирд╛рдо рдХреИрд╕реЗ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЖрдк рдЕрднреА рднреА 404 рдкреГрд╖реНрда рджреЗрдЦрддреЗ рд╣реИрдВред рдпрджрд┐ рдРрд╕рд╛ рд╣реБрдЖ рд╣реИ, рддреЛ рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ рдХрд┐ рдЖрдк рдлрд╝рд╛рдЗрд▓ рдХреЛ рдЧрд▓рдд рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдирд┐рдпрдВрддреНрд░рдХ рдХреЗ рд╕рд╛рде рд░рдЦреЗрдВ рдпрд╛ рдЖрдкрдиреЗ рдлрд╝рд╛рдЗрд▓ рдХреЛ рдЧрд▓рдд рддрд░реАрдХреЗ рд╕реЗ рдирд╛рдо рджрд┐рдпрд╛ред рдпрд╣ рдЬрд╛рдВрдЪрдиреЗ рдХрд╛ рд╕рдмрд╕реЗ рдЖрд╕рд╛рди рддрд░реАрдХрд╛ рдЙрд╕ рдирд┐рдпрдВрддреНрд░рдХ рдХреЛ рдкрде рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рд╣реИ рдЬрд┐рд╕реЗ Magento рдвреВрдВрдв рд░рд╣рд╛ рд╣реИред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, Mage_Core_Controller_Varien_Router_Standard рд╡рд░реНрдЧ рдкрд░ рдЬрд╛рдПрдВ рдФрд░ рд╡рд╣рд╛рдВ _validateControllerClassName () рд╡рд┐рдзрд┐ рджреЗрдЦреЗрдВред рдЗрд╕ рдкрджреНрдзрддрд┐ рдореЗрдВ, рд╣рдореЗрдВ рдЕрдкрдиреЗ рдХрдВрдЯреНрд░реЛрд▓рд░ рдХреЗ рд▓рд┐рдП рдкреВрд░рд╛ рд░рд╛рд╕реНрддрд╛ рдорд┐рд▓ рдЬрд╛рддрд╛ рд╣реИ, рдпрд╣ рдХреЗрд╡рд▓ рдЗрд╕реЗ рдмрд╛рд╣рд░ рд▓рд╛рдиреЗ рдФрд░ рдЗрд╕реЗ рд╣рдорд╛рд░реЗ рд╕рд╛рде рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд░рд╣рддрд╛ рд╣реИред

рдпрд╣рд╛рдБ рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рдХреЛрдб рд╣реИ:

protected function _validateControllerClassName($realModule, $controller) { $controllerFileName = $this->getControllerFileName($realModule, $controller); var_dump($controllerFileName); die(); // added line if (!$this->validateControllerFileName($controllerFileName)) { return false; } // тАж } 

рдЕрдм, 404 рдкреГрд╖реНрдареЛрдВ рдХреЗ рдмрдЬрд╛рдп, Magento рд╣рдорд╛рд░реЗ рдирд┐рдпрдВрддреНрд░рдХ рдХреЛ рд░рд╛рд╕реНрддрд╛ рджреЗрдЧрд╛ред рд╣рдо рд╕рд╣реА рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЖрдирдиреНрджрд┐рдд рд╣реЛрддреЗ рд╣реИрдВред

рдпрджрд┐ рдкрде рдореЗрдВ рдЖрдкрдХреЗ Namespace / ModuleName рдХреЗ рдмрдЬрд╛рдп Mage / Core / ... рд╢рд╛рдорд┐рд▓ рд╣реИ, рддреЛ рдЖрдкрдиреЗ config.xml рдореЗрдВ рд░рд╛рдЙрдЯрд░ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдерд╛ рдпрд╛ рдЖрдкрдиреЗ рдЗрд╕реЗ рдЧрд▓рдд рдХрд┐рдпрд╛ рдерд╛ред рдЗрд╕реЗ рд╕рд╣реА рддрд░реАрдХреЗ рд╕реЗ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдПрд▓рдиреЙ рд╕реНрдЯреНрд░реЛрдорд╛ рджреНрд╡рд╛рд░рд╛ рдПрдХ рд╣реА рд▓реЗрдЦ рдореЗрдВ рд╕рдм рдХреБрдЫ рдкрдврд╝реЗрдВред

рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдХреБрдЫ рдФрд░ рдкреНрд░рджрд░реНрд╢рд┐рдд рддреНрд░реБрдЯрд┐рдпрд╛рдВ рд╣рдорд╕реЗ рдЙрдореНрдореАрдж рдХрд░ рд╕рдХрддреА рд╣реИрдВ: рдЕрд░реНрдерд╛рддреН, рдирд┐рдпрдВрддреНрд░рдХ рдлрд╝рд╛рдЗрд▓ рд▓реЛрдб рдХреА рдЧрдИ рдереА, рд▓реЗрдХрд┐рди рд╡рд░реНрдЧ рдореМрдЬреВрдж рдирд╣реАрдВ рд╣реИ, рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рд╣рдордиреЗ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдирд┐рдпрдВрддреНрд░рдХ рдХрд╛ рдирд╛рдо рдЯрд╛рдЗрдк рдХрд┐рдпрд╛ рд╣реИ рдпрд╛ рдШрд╛рддрдХ рддреНрд░реБрдЯрд┐: рдЕрдкрд░рд┐рднрд╛рд╖рд┐рдд рд╡рд┐рдзрд┐ рдХреЛ рдХреЙрд▓ рдХрд░реЗрдВ NameSpace_TestModor_IndexController :: hasAction (), рдЬреЛ рдХрд╣рддрд╛ рд╣реИ рд╣рдореЗрдВ рдпрд╣ рд╣реИ рдХрд┐ рд╣рдо рдЖрдзрд╛рд░ рдирд┐рдпрдВрддреНрд░рдХ Mage_Core_Controller_Front_Action рдХреЛ рд╡рд┐рд░рд╛рд╕рдд рдХреЗ рд▓рд┐рдП рдФрд░ рдмреИрдХрдПрдВрдб рдХреЗ рд▓рд┐рдП Mage_Adminhtml_Controller_Action рдХреЛ рднреВрд▓ рдЧрдПред

рдореИрдВрдиреЗ рдПрдХ рд░рд╛рдЙрдЯрд░, рдХрдВрдЯреНрд░реЛрд▓рд░ рдФрд░ рддрд░реАрдХрд╛ рдмрдирд╛рдпрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд╡реНрд╣рд╛рдЯреНрд╕ рдкреЗрдЬ рдорд┐рд▓рддрд╛ рд╣реИ, рд╣рдорд╛рд░рд╛ рдмреБрд░рд╛ ...


рдРрд╕рд╛ рдХреНрдпреЛрдВ рд╣реЛ рд░рд╣рд╛ рд╣реИ:

рдмрдЧ рдХреЛ рдареАрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдмрд╣реБрдд рд╣реА рджреБрд░реНрд▓рдн рдФрд░ рдЖрд╕рд╛рдиред рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рд╣рдорд╛рд░реЗ рдирд┐рдпрдВрддреНрд░рдХ рдореЗрдВ рд╡рд╣ рддрд░реАрдХрд╛ рдирд╣реАрдВ рд╣реИ рдЬреЛ рдЖрдк рдЕрдиреБрд░реЛрдз рдХрд░ рд░рд╣реЗ рд╣реИрдВред

рдбрд┐рдмрдЧ рдХреИрд╕реЗ рдХрд░реЗрдВ:

рдЕрдкрдиреА рд╡рд┐рдзрд┐ рдХреЗ рдирд╛рдо рдХреА рдЬрд╛рдВрдЪ рдХрд░реЗрдВ, рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрднрд╛рд╡рдирд╛ рд╣реИ рдХрд┐ рдЗрд╕реЗ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдирд╛рдо рдирд╣реАрдВ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдЖрдк рд╡рд┐рдзрд┐ рдХреЗ рдирд╛рдо рдХреЗ рдмрд╛рдж рдПрдХреНрд╢рди рдЬреЛрдбрд╝рдирд╛ рднреВрд▓ рдЧрдП рд╣реЛрдВред

рдпрд╣ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдХреБрдЫ xml рдлрд╛рдЗрд▓реЗрдВ рд▓реЛрдб рдирд╣реАрдВ рд╣реЛ рд░рд╣реА рд╣реИрдВ рдпрд╛ рдореИрдВ рджреЗрдЦрдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐ рдХреМрди рд╕реА рдлрд╛рдЗрд▓реЗрдВ рд▓реЛрдб рд╣реЛ рд░рд╣реА рд╣реИрдВ


рдРрд╕рд╛ рдХреНрдпреЛрдВ рд╣реЛ рд░рд╣рд╛ рд╣реИ:

рдмрд╣реБрдд рд╕рд╛рд░реЗ рдХрд╛рд░рдг рд╣реИрдВ рдХрд┐ xml рдлрд╝рд╛рдЗрд▓ рд▓реЛрдб рдирд╣реАрдВ рд╣реЛ рд╕рдХрддреА рд╣реИ рдФрд░ рдЗрд╕ рд╡рд┐рд╖рдп рдореЗрдВ рдЙрди рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рдорддрд▓рдм рдирд╣реАрдВ рд╣реИред рд╕рднреА рдорд╛рдорд▓реЛрдВ рдХрд╛ рд╕рдорд╛рдзрд╛рди рдПрдХ рд╕рдорд╛рди рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╣рдо рд╕реАрдзреЗ рдЗрд╕рдХреЗ рдкрд╛рд╕ рдЬрд╛рдПрдВрдЧреЗред

рдбрд┐рдмрдЧ рдХреИрд╕реЗ рдХрд░реЗрдВ:

рдпрд╣ рдЬрд╛рдВрдЪрдиреЗ рдХрд╛ рд╕рдмрд╕реЗ рд╕рд░рд▓ рддрд░реАрдХрд╛ рд╣реИ рдХрд┐ рдХреЛрдИ рд╡рд┐рд╢реЗрд╖ xml рдлрд╝рд╛рдЗрд▓ рд▓реЛрдб рд╣реЛ рд░рд╣реА рд╣реИ рдпрд╛ рдирд╣реАрдВ, рдпрд╣ рдЕрд╡реИрдз рд╣реИред рдЖрдЗрдП рдлрд╛рдЗрд▓ рдореЗрдВ рдПрдХ рдЕрддрд┐рд░рд┐рдХреНрдд рдпреВрдирд┐рдЯ рдЬреЛрдбрд╝реЗрдВ:

 <1?xml version="1.0"?> 

рдЕрдм, рдЬрдм рдЖрдк рдкреГрд╖реНрда рдкрд░ рдЬрд╛рддреЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ xml рдлрд╝рд╛рдЗрд▓ рд▓реЛрдб рдХрд░рдиреЗ рдореЗрдВ рддреНрд░реБрдЯрд┐ рд╕рдВрджреЗрд╢ рджрд┐рдЦрд╛рдИ рджреЗрдЧрд╛ред рдпрджрд┐ рдпрд╣ рд╕рдВрджреЗрд╢ рдореМрдЬреВрдж рдирд╣реАрдВ рд╣реИ, рддреЛ рдлрд╝рд╛рдЗрд▓ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд▓реЛрдб рдирд╣реАрдВ рд╣реИред рдХреНрдпрд╛ xml рдлрд╝рд╛рдЗрд▓реЗрдВ рдФрд░ рдХреНрдпреЛрдВ рд▓реЛрдб рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдПрдХ рдЕрд▓рдЧ рд▓реЗрдЦ рдХрд╛ рд╡рд┐рд╖рдп рд╣реИ рдФрд░ рдпрд╣рд╛рдБ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред

рд╣рдорд╛рд░реЗ рдкреНрд░рд╢реНрди рдХрд╛ рджреВрд╕рд░рд╛ рднрд╛рдЧ рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдирд╛ рд╣реИ рдХрд┐ рдХреМрди рд╕реА xml рдлрд╛рдЗрд▓реЗрдВ рдЕрднреА рднреА рд▓реЛрдб рдХреА рдЬрд╛ рд░рд╣реА рд╣реИрдВред рдРрд╕рд╛ рдХрд░рдиреЗ рдХрд╛ рдПрдХ рддрд░реАрдХрд╛ рдпрд╣ рд╣реИ рдХрд┐ lib / Varien / Simplexml / Config.php рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдХреБрдЫ рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреЛ рдЬреЛрдбрд╝рд╛ рдЬрд╛рдПред рд╣рдо рд▓реЛрдбрдлрд╝рд╛рдЗрд▓ рд╡рд┐рдзрд┐ рдХреА рддрд▓рд╛рд╢ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдЬреЛ рд╕рднреА xml рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рд▓реЛрдб рдХрд░рдиреЗ рдФрд░ рдЗрд╕рдХреЗ рд▓рд┐рдП рдХрдИ рд▓рд╛рдЗрдиреЛрдВ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд╝рд┐рдореНрдореЗрджрд╛рд░ рд╣реИ:

 public function loadFile($filePath) { if (!is_readable($filePath)) { //throw new Exception('Can not read xml file '.$filePath); return false; } // added lines $log = fopen("***      magento***/var/log/xml.log", "a"); fwrite($log, "Loading XML file: $filePath\n"); fclose($log); // ... } 

Magento рд╕реНрдерд╛рдкрд┐рдд рдХреЗ рд╕рд╛рде рд╕рд░реНрд╡рд░ рд░реВрдЯ рд╕реЗ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рдЕрдкрдирд╛ рд░рд╛рд╕реНрддрд╛ рджрд░реНрдЬ рдХрд░рдирд╛ рди рднреВрд▓реЗрдВред рдФрд░ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдкрде рдкрд░ xml.log рдлрд╝рд╛рдЗрд▓ рднреА рдмрдирд╛рдПрдБред рдЕрдм рдкреГрд╖реНрда рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд░рдиреЗ рдкрд░ рд▓реЛрдб рдХреА рдЧрдИ рд╕рднреА xml рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреА рд╕реВрдЪреА рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд▓реЙрдЧ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд▓рд┐рдЦреА рдЬрд╛рдПрдЧреАред

рдЖрдкрдХреЛ рдЗрди рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреЛ рд▓рдЧрд╛рддрд╛рд░ рдЪрд╛рд▓реВ рдирд╣реАрдВ рд░рдЦрдирд╛ рдЪрд╛рд╣рд┐рдП, рдХреНрдпреЛрдВрдХрд┐ рд▓реЙрдЧ рдмрд╣реБрдд рдЬрд▓реНрджреА рдкреНрд░рднрд╛рд╡рд╢рд╛рд▓реА рдЖрдХрд╛рд░ рддрдХ рдкрд╣реБрдВрдЪ рдЬрд╛рдПрдЧрд╛ред рдЖрдк рдмрд╕ рдЙрдиреНрд╣реЗрдВ рдлрд┐рд░ рд╕реЗ рдЯрд┐рдкреНрдкрдгреА рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬрдм рддрдХ рдХрд┐ рдЖрдкрдХреЛ рдЙрдиреНрд╣реЗрдВ рдлрд┐рд░ рд╕реЗ рдЬрд╝рд░реВрд░рдд рди рд╣реЛред

рдореИрдВрдиреЗ рд▓реЗрдЖрдЙрдЯ рдлрд╝рд╛рдЗрд▓ рдХреЛ рдХрдиреЗрдХреНрдЯ рдХрд┐рдпрд╛, рдмреНрд▓реЙрдХ рдореЗрдВ рдПрдХ рд╣реИрдВрдбрд▓ рдЬреЛрдбрд╝рд╛, рд▓реЗрдХрд┐рди рдкреЗрдЬ рдЕрднреА рднреА рдЦрд╛рд▓реА рд╣реИ


рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдореИрдВ рдЖрдкрдХреЛ рдХреБрдЫ рдХреЛрдб рджреВрдВрдЧрд╛:

 app/code/local/TestCompany/TestModule/etc/config.xml <?xml version="1.0"?> <config> <frontend> <layout> <updates> <testmodule> <file>testmodule.xml</file> </testmodule> </updates> </layout> </frontend> </config> 

рдпрд╣рд╛рдВ рд╣рдо рдлрд╝рд╛рдЗрд▓ рдХреЛ рд▓реЗрдЖрдЙрдЯ рдХреЗ рд╕рд╛рде рд╢рд╛рдорд┐рд▓ рдХрд░рддреЗ рд╣реИрдВред рдпрд╣рд╛рдБ рдлрд╝рд╛рдЗрд▓ рд╣реА рд╣реИ:

 app/design/base/default/layouts/testmodule.xml <?xml version="1.0"?> <layout version="0.1.0"> <testmodale_index_index> <reference name="root"> <action method="setTemplate"><template>page/2columns-right.phtml</template></action> </reference> <reference name="content"> <block type="core/template" name="testmodule.mainpage" template="testmodule/page" /> </reference> </testmodale_index_index> </layout> 

рдЗрд╕ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдХреБрдЫ рд╕рд╛рдорд╛рдиреНрдп рддреНрд░реБрдЯрд┐рдпрд╛рдБ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╣рдо рдЙрди рдкрд░ рдереЛрдбрд╝реА рджреЗрд░ рдмрд╛рдж рдЪрд░реНрдЪрд╛ рдХрд░реЗрдВрдЧреЗред рдЗрд╕ рдмреАрдЪ, рдорд╛рди рд▓реАрдЬрд┐рдП рдХрд┐ рдЗрд╕ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд╕рдм рдХреБрдЫ рд╕рд╣реА рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИред рдПрдХ рдЯреЗрдореНрдкрд▓реЗрдЯ рдлрд╝рд╛рдЗрд▓ рднреА рдмрдирд╛рдПрдВ:

 app/design/base/default/templates/testmodule/page.phtml <p>Test content.</p> 

рддреЛ, рдЕрдм рдЗрд╕ рд╕реНрд╡рдЪреНрдЫ рдкреГрд╖реНрда рдХреЗ рдХрд╛рд░рдг рдФрд░ рдЙрдирдХреЗ рд╕рдорд╛рдзрд╛рди:

  1. рдЖрдк рдирд┐рдпрдВрддреНрд░рдХ рд╡рд┐рдзрд┐ рдореЗрдВ рдЗрдВрдЧрд┐рдд рдХрд░рдирд╛ рднреВрд▓ рдЧрдП рдХрд┐ рд▓реЗрдЖрдЙрдЯ рд▓реЛрдб рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред
    рдирд┐рдпрдВрддреНрд░рдХ рдореЗрдВ рдХреЛрдб рдХреА рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкрдВрдХреНрддрд┐рдпрд╛рдБ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдП:

      $this->loadLayout(); $this->renderLayout(); 

  2. рд▓реЗрдЖрдЙрдЯ рд╡рд╛рд▓реА рдлрд╝рд╛рдЗрд▓ рд▓реЛрдб рдирд╣реАрдВ рд╣реЛ рд░рд╣реА рд╣реИред
    рдЗрд╕ рд╕рдВрд╕реНрдХрд░рдг рдХреА рдЬрд╛рдВрдЪ рдХреИрд╕реЗ рдХрд░реЗрдВ рдЖрдк рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдкрд┐рдЫрд▓реЗ рдкреИрд░рд╛рдЧреНрд░рд╛рдл рд╕реЗ рдЬрд╛рдирддреЗ рд╣реИрдВред

  3. рд▓реЗрдЖрдЙрдЯ рдХреЗ рд╕рд╛рде рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдЕрдорд╛рдиреНрдп рд╣реИрдВрдбрд▓ рдирд╛рдоред
    рдпрд╣ рдЙрди рдЧрд▓рддрд┐рдпреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рд╣реИ рдЬреЛ рд╣рдорд╛рд░реЗ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ рдХреА рдЧрдИ рдереАрдВред рдЙрджрд╛рд╣рд░рдг рдореЗрдВ, рдпрд╣ рд╕рд┐рд░реНрдл рдПрдХ рдЯрд╛рдЗрдкреЛ рд╣реИ, рдЖрдкрдХреЛ рдЯреЗрд╕реНрдЯрдореЙрдбрд▓ рдкрд░ рдЯреЗрд╕реНрдЯрдореЙрдбрд▓ рдХреЛ рдареАрдХ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдХрднреА-рдХрднреА рдРрд╕рд╛ рд╣реЛрддрд╛ рд╣реИ рдХрд┐ рдЖрдкрдиреЗ рдХрд┐рд╕реА рдкреГрд╖реНрда рдХреЗ рд╣реИрдВрдбрд▓ рдХреЛ рдЧрд▓рдд рддрд░реАрдХреЗ рд╕реЗ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рд╣реИред рд╕рдмрд╕реЗ рд╕рд░рд▓ рд╕рдорд╛рдзрд╛рди рдЙрди рд╕рднреА рд╣реИрдВрдбрд▓ рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдирд╛ рд╣реИ рдЬрд┐рдирдХреА рд╕рд╛рдордЧреНрд░реА Magento рд╡рд░реНрддрдорд╛рди рдкреГрд╖реНрда рдХреЗ рд▓рд┐рдП рд▓реЛрдб рдХрд░рддреА рд╣реИред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдирд┐рдпрдВрддреНрд░рдХ рд╡рд┐рдзрд┐ рдореЗрдВ рдХреЛрдб рдХреА рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкрдВрдХреНрддрд┐ рдЬреЛрдбрд╝реЗрдВ:

      $this->loadLayout(); var_dump($this->getLayout()->getUpdate()->getHandles()); die(); $this->renderLayout(); 

    рд╣рдорд╛рд░реЗ рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╣реИрдВрдбрд▓ рдореЗрдВ рд╕реЗ рдПрдХ testmodule_index_index рд╣реЛрдЧрд╛, рдЬрд┐рд╕реЗ рд╣рдордиреЗ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд┐рдпрд╛ рдерд╛ред

  4. рдЯреЗрдореНрдкрд▓реЗрдЯ рдХрд╛ рдЧрд▓рдд рдирд╛рдо рдпрд╛ рдкрдеред
    рдпрд╣ рд╣рдорд╛рд░реЗ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ рдХреА рдЧрдИ рджреВрд╕рд░реА рдЧрд▓рддреА рд╣реИред рдХреЛрдб рдХрд╛ рд▓реЗрдЦрдХ рдЯреЗрдореНрдкрд▓реЗрдЯ рдлрд╝рд╛рдЗрд▓ рдХреЗ рд▓рд┐рдП .phtml рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдирд╛ рднреВрд▓ рдЧрдпрд╛ред рдРрд╕реА рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рдбреАрдмрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рддрдерд╛рдХрдерд┐рдд рдЯреЗрдореНрдкрд▓реЗрдЯ рдкрде рд╕рдВрдХреЗрдд рд╢рд╛рдорд┐рд▓ рдХрд░реЗрдВред рдпрд╣ Magento рдХреЗ рдмреИрдХ рдПрдВрдб рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рд╕рд┐рд╕реНрдЯрдо -> рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди -> рдбреЗрд╡рд▓рдкрд░ рдкрд░ рдЬрд╛рдПрдВред рдореБрдЦреНрдп рд╡реЗрдмрд╕рд╛рдЗрдЯ рдХреЗ рдКрдкрд░реА рдмрд╛рдПрдБ рдХреЛрдиреЗ рдореЗрдВ рдЪрдпрди рдХрд░реЗрдВред рдЕрдм рдбрд┐рдмрдЧ рдЯреИрдм рдореЗрдВ рджреЛ рдЕрддрд┐рд░рд┐рдХреНрдд рдлрд╝реАрд▓реНрдб рджрд┐рдЦрд╛рдИ рджреЗрддреЗ рд╣реИрдВред рд╣рдореЗрдВ рдЯреЗрдореНрдкрд▓реЗрдЯ рдкрд╛рде рд╕рдВрдХреЗрдд рдХреЛ рд╕рдХреНрд╖рдо рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЕрдм рдЬрдм рдЖрдк рдкреГрд╖реНрда рдореЗрдВ рдкреНрд░рд╡реЗрд╢ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╣рдо рдЙрд╕ рдкрде рдХреЛ рджреЗрдЦрддреЗ рд╣реИрдВ рдЬрд┐рд╕рдХреЗ рд╕рд╛рде рдкреЗрдЬ рдкрд░ рдореИрдЧрдиреЗрдЯреЛ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рд╡рд╛рд▓рд╛ рдЯреЗрдореНрдкрд▓реЗрдЯ рд╕реНрдерд┐рдд рд╣реИред

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

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


All Articles