Silviasil Posted May 28, 2019 Share Posted May 28, 2019 (edited) Hola, En el selector de provincias de la ficha de direcciones en la cuenta de cliente o invitado, éstas aparecen desordenadas y me gustaría que apareciesen por orden alfabético. En el archivo Country.php dentro de la carpeta classes, en la línea 154 aparece el orden por nombre: DB_PREFIX_ . 'state` ORDER BY `name` ASC' El problema es que aunque el orden está establecido por el nombre de la provincia del campo name de la base de datos, en realidad en selector del formulario aparecen ordenados por el ID (id_state). ¿Sabéis como ordenarlas alfabéticamente por nombre ? Edited May 28, 2019 by Silviasil (see edit history) Link to comment Share on other sites More sharing options...
carlosco Posted August 3, 2019 Share Posted August 3, 2019 Hola Silviasil! Lo conseguiste al final? estoy yo ahora con ese mismo problema... Link to comment Share on other sites More sharing options...
ichavarria Posted December 5, 2019 Share Posted December 5, 2019 Hola, me ví en la misma situación. El problema es que el desplegable lo saca la clase State.php que hace la select sin orden. Para solucionarlo lo mejor es crear un override con el order por name. Para hacerlo creáis un fichero State.php en override/classes y poneis dentro este código. Despues tendreis qeu borrar la caché para que os funcione. <?php class State extends StateCore { /** * Get states by Country ID. * * @param int $idCountry Country ID * @param bool $active true if the state must be active * * @return array|false|mysqli_result|PDOStatement|resource|null */ public static function getStatesByIdCountry($idCountry, $active = false) { if (empty($idCountry)) { die(Tools::displayError()); } return Db::getInstance()->executeS( 'SELECT * FROM `' . _DB_PREFIX_ . 'state` s WHERE s.`id_country` = ' . (int) $idCountry . ($active ? ' AND s.active = 1' : '') . ' ORDER BY `name` ASC' ); } } 2 Link to comment Share on other sites More sharing options...
kulekas Posted May 22, 2020 Share Posted May 22, 2020 On 12/5/2019 at 6:50 AM, ichavarria said: Hola, me ví en la misma situación. El problema es que el desplegable lo saca la clase State.php que hace la select sin orden. Para solucionarlo lo mejor es crear un override con el order por name. Para hacerlo creáis un fichero State.php en override/classes y poneis dentro este código. Despues tendreis qeu borrar la caché para que os funcione. <?php class State extends StateCore { /** * Get states by Country ID. * * @param int $idCountry Country ID * @param bool $active true if the state must be active * * @return array|false|mysqli_result|PDOStatement|resource|null */ public static function getStatesByIdCountry($idCountry, $active = false) { if (empty($idCountry)) { die(Tools::displayError()); } return Db::getInstance()->executeS( 'SELECT * FROM `' . _DB_PREFIX_ . 'state` s WHERE s.`id_country` = ' . (int) $idCountry . ($active ? ' AND s.active = 1' : '') . ' ORDER BY `name` ASC' ); } } Hola a todos... Como hago para hacer que un Estado en particular me aparezca por defecto. En mi tienda me aparecen en orden alfabético, pero quiero que un estado aparezca en la lista de primero o por defecto 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