gajofe Posted May 29, 2015 Share Posted May 29, 2015 (edited) Amigos estoy realizando un override de AdminProductController ahi todo bien. ahora hize algunas modificaciones y necesito usar un JS, ahora mi pregunta es : donde coloco ese js para este override y como lo añado para usarlo en mi tpl. ojo quiero mantener todo en la carpeta override para no peder esos archivos al actualizar o instalar de nuevo. muchas gracias..!! Edited May 29, 2015 by gajofe (see edit history) Link to comment Share on other sites More sharing options...
Enrique Gómez Posted May 29, 2015 Share Posted May 29, 2015 Sobrescribe el metodo setMedia, llama al padre (parent::setMedia()) y luego añade tu lo tuyo por ejemplo si lo pones en el js de tu tyema $this->addJS(_THEME_JS_DIR_.'your_js.js'); Link to comment Share on other sites More sharing options...
gajofe Posted May 29, 2015 Author Share Posted May 29, 2015 gracias. existe alguna manera de poderlo usar desde la carpeta override ?? para no perder como decia ese archivo una vez actualize el prestashop o reinstalen.. $ gracias Link to comment Share on other sites More sharing options...
Enrique Gómez Posted May 29, 2015 Share Posted May 29, 2015 P.ej $this->addJS(__PS_BASE_URI__.'override/tu_carpeta_js/your_js.js'); Link to comment Share on other sites More sharing options...
gajofe Posted May 29, 2015 Author Share Posted May 29, 2015 gracias intente como me comentaste. class AdminProductsController extends AdminProductsControllerCore { . . . . public function setMedia() { $this->addJS(_PS_BASE_URL_ . "/override/js/arhivo.js"); parent::setMedia(); } } pero te cuento que me sale un error de no encontrado GET http://localhost/override/js/archivo.js [HTTP/1.1 404 Not Found 10ms] ParamsHeadersPostResponse Response HeadersView source Accept-RangesbytesConnectionKeep-AliveContent-LanguageesContent-Typetext/htmlDateFri, 29 May 2015 15:47:14 GMTKeep-Alivetimeout=5, max=88ServerApache/2.4.10 (Win32) OpenSSL/1.0.1i PHP/5.6.3Transfer-EncodingchunkedVaryaccept-language,accept-charset Request HeadersView source Accept*/*Accept-Encodinggzip, deflateAccept-Languagees-ES,es;q=0.8,en-US;q=0.5,en;q=0.3Cache-Controlmax-age=0Connectionkeep-aliveHostlocalhostRefererhttp://localhost/xxxxxx....controller=AdminProducts&id_product=XXXX&updateproduct&token=XXXXXX User-AgentMozilla/5.0 (Windows NT 6.3; WOW64; rv:40.0) Gecko/20100101 Firefox/40.0 CachedResponseHeaders PostRequestHeaders Link to comment Share on other sites More sharing options...
Enrique Gómez Posted May 30, 2015 Share Posted May 30, 2015 (edited) Si el archivo existe en esa ruta lo encontraría. lo que pasa que la carpeta override (como otras) tiene un htaccess para "prohibilr" el acceso -> te lanza un 403 forbidden..(o quizás un 404 en función del servidor.. no lo se) si lo quitas te deja acceder al contenido de la carpeta js sin problemas, pero quizás por seguridad es mejor dejarlo como esta.. Entonces lo mejor es que Te creas una carpeta nueva en la instalación raíz y ahí pones lo que quieras $this->addJS(__PS_BASE_URI__.'tu_carpeta_nueva/tus_directorios/...etc/tu_fichero.js'); O bién si pones tu js en un módulo también puedes acceder (hay no hay problema de 403) $this->addJS(__PS_BASE_URI__.'modules/tu_modulo/...etc/tu_fichero.js'); Nota: la constante __PS_BASE_URI__ ya acaba con / por lo que no hace falta que lo añadas en lo que concatenes después. Por último si instalas un módulo que este en el hook hookActionAdminControllerSetMedia. Prestashop te añade directamente ese js al backoffice Pudiendo incluso filtrar en que controlador quieres que aparezca.. public function hookActionAdminControllerSetMedia($params) { // add necessary javascript to products back office if($this->context->controller->controller_name == 'AdminOrders' ) { $this->context->controller->addJS($this->_path.'/js/pele_fbg_backoffice.js'); } } Edited May 30, 2015 by Enrique Gómez (see edit history) Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now