mari10 Posted December 28, 2023 Share Posted December 28, 2023 Buenos d铆as, cuando entro en mi prestashop al iniciar sesi贸n, me sale el siguiente error: Unknown error en l铆nea 695 en archivo /homepages/37/d576280150/htdocs/oldhtdocs/tienda/modules/themeconfigurator/themeconfigurator.php [8192] Unparenthesized `a ? b : c ? d : e` is deprecated. Use either `(a ? b : c) ? d : e` or `a ? b : (c ? d : e)` 聽 驴Qu茅 es y que debo hacer? Gracias Link to comment Share on other sites More sharing options...
mari10 Posted December 28, 2023 Author Share Posted December 28, 2023 el texto que me sale en esa l铆nea es el siguiente: 聽'context' => (Configuration::get('PS_MULTISHOP_FEATURE_ACTIVE') == 0) ? 1 : ($this->context->shop->getTotalShops() != 1) ? $this->context->shop->getContext() : 1 Link to comment Share on other sites More sharing options...
Manuel_GT Posted December 28, 2023 Share Posted December 28, 2023 Hola @mari10 El error que ves es simplemente porque han encadenado dos operadores ternarios. El operador ternario es una simplificaci贸n de una expresi贸n IF. Viene a decir condici贸n ? haz esto si es verdadero : haz esto si es falso. En tu caso, si se cumple "a" hacer "b" y si no hacer "c".聽 Pero en esa linea han encadenado dos y el sistema te pide que le indiques con un par茅ntesis si lo que quieres es: (a ? b : c) ? d : e o a ? b : (c ? d : e) En tu caso particular, si (en negrita lo que va entre par茅ntesis) 'context' => (Configuration::get('PS_MULTISHOP_FEATURE_ACTIVE') == 0) ? 1 : ($this->context->shop->getTotalShops() != 1) ? $this->context->shop->getContext() : 1 o 'context' => (Configuration::get('PS_MULTISHOP_FEATURE_ACTIVE') == 0) ? 1 : ($this->context->shop->getTotalShops() != 1) ? $this->context->shop->getContext() : 1 Yo creo que es el segundo caso y pondr铆a: 'context' => (Configuration::get('PS_MULTISHOP_FEATURE_ACTIVE') == 0) ? 1 : (($this->context->shop->getTotalShops() != 1) ? $this->context->shop->getContext() : 1) 聽 1 Link to comment Share on other sites More sharing options...
mari10 Posted December 28, 2023 Author Share Posted December 28, 2023 6 minutes ago, Manuel_GT said: Hola @mari10 El error que ves es simplemente porque han encadenado dos operadores ternarios. El operador ternario es una simplificaci贸n de una expresi贸n IF. Viene a decir condici贸n ? haz esto si es verdadero : haz esto si es falso. En tu caso, si se cumple "a" hacer "b" y si no hacer "c".聽 Pero en esa linea han encadenado dos y el sistema te pide que le indiques con un par茅ntesis si lo que quieres es: (a ? b : c) ? d : e o a ? b : (c ? d : e) En tu caso particular, si (en negrita lo que va entre par茅ntesis) 'context' => (Configuration::get('PS_MULTISHOP_FEATURE_ACTIVE') == 0) ? 1 : ($this->context->shop->getTotalShops() != 1) ? $this->context->shop->getContext() : 1 o 'context' => (Configuration::get('PS_MULTISHOP_FEATURE_ACTIVE') == 0) ? 1 : ($this->context->shop->getTotalShops() != 1) ? $this->context->shop->getContext() : 1 Yo creo que es el segundo caso y pondr铆a: 'context' => (Configuration::get('PS_MULTISHOP_FEATURE_ACTIVE') == 0) ? 1 : (($this->context->shop->getTotalShops() != 1) ? $this->context->shop->getContext() : 1) 聽 Buenas, gracias por contestar, entonces si no me equivoco, lo que hay que hacer es a帽adirle un par茅ntesis al final no? Link to comment Share on other sites More sharing options...
Manuel_GT Posted December 28, 2023 Share Posted December 28, 2023 Si. Te puse en negrita el par茅ntesis a帽adido aunque se ve poco. 馃檪 Espero te sirva. 聽 Link to comment Share on other sites More sharing options...
mari10 Posted December 28, 2023 Author Share Posted December 28, 2023 2 minutes ago, Manuel_GT said: Si. Te puse en negrita el par茅ntesis a帽adido aunque se ve poco. 馃檪 Espero te sirva. 聽 Muchas gracias por la ayuda Link to comment Share on other sites More sharing options...
mari10 Posted December 28, 2023 Author Share Posted December 28, 2023 8 minutes ago, Manuel_GT said: Si. Te puse en negrita el par茅ntesis a帽adido aunque se ve poco. 馃檪 Espero te sirva. 聽 Perdone de nuevo, le mando una captura del codigo con las lineas y aparecen unos parentesis:聽 la 695 es lo mismo que envie, pero tengo que poner los mismos parentesis? perdone la molestia y gracias Link to comment Share on other sites More sharing options...
Manuel_GT Posted December 28, 2023 Share Posted December 28, 2023 Si, en esa linea est谩 asignando la variable "context" con el resultado de la expresi贸n que enviaste. He estado revisando la expresi贸n despacio y es bastante enrevesada, con lo que no estoy ya tan seguro de que fuese la opci贸n dos. Ahora creo que es la opci贸n uno. Es decir, la expresi贸n es: 'context' => ((Configuration::get('PS_MULTISHOP_FEATURE_ACTIVE') == 0) ? 1 : ($this->context->shop->getTotalShops() != 1)) ? $this->context->shop->getContext() : 1 Creo que pretende determinar si es multitienda o no para devolver el contexto de la tienda o 1 Link to comment Share on other sites More sharing options...
mari10 Posted December 28, 2023 Author Share Posted December 28, 2023 4 minutes ago, Manuel_GT said: Si, en esa linea est谩 asignando la variable "context" con el resultado de la expresi贸n que enviaste. He estado revisando la expresi贸n despacio y es bastante enrevesada, con lo que no estoy ya tan seguro de que fuese la opci贸n dos. Ahora creo que es la opci贸n uno. Es decir, la expresi贸n es: 'context' => ((Configuration::get('PS_MULTISHOP_FEATURE_ACTIVE') == 0) ? 1 : ($this->context->shop->getTotalShops() != 1)) ? $this->context->shop->getContext() : 1 Creo que pretende determinar si es multitienda o no para devolver el contexto de la tienda o 1 lo que cambia de nuevo son los parentesis no? 聽 Link to comment Share on other sites More sharing options...
Manuel_GT Posted December 28, 2023 Share Posted December 28, 2023 Si exacto. 馃檪 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