¡Hola, @miriam_store! @inma_9689 tiene razón, los overrides directos a clases como Product.php son funcionales pero conllevan un riesgo considerable de incompatibilidades, especialmente si hay actualizaciones del core o si instalas módulos que también intentan modificar la misma lógica. PrestaShop 8.2.4, y en general las versiones más recientes, están diseñadas para ser más modulares.
Tu enfoque en getFeaturesStatic es lógico para filtrar a nivel de datos, pero la mejor práctica es encapsular estas modificaciones en un módulo propio que, si necesita hacer un override, lo haga de una manera más controlada (por ejemplo, sobrescribiendo un controlador específico y gestionando la lógica allí).
Para esto, la forma más limpia de abordar el problema sin tocar directamente el core sería crear un módulo que sobrescriba el ProductController y modifique la asignación de las características antes de que se envíen a la plantilla Smarty. Aquí te muestro cómo podrías hacerlo en un módulo personalizado (por ejemplo, mymodule) en modules/mymodule/override/controllers/front/ProductController.php:
class ProductController extends ProductControllerCore
{
protected function assignFeatures()
{
parent::assignFeatures(); // Llama al método original para obtener todas las características
if (isset($this->product->features) && is_array($this->product->features)) {
$hidden_feature_ids = [3, 5, 8]; // IDs de las características a ocultar
foreach ($this->product->features as $key => $feature) {
if (in_array($feature['id_feature'], $hidden_feature_ids)) {
unset($this->product->features[$key]);
Este código sigue siendo un override, pero al estar dentro de tu módulo, es más fácil de gestionar y desinstalar si fuera necesario. Sin embargo, para una solución más robusta y sin overrides de código, que sea compatible con futuras versiones y no requiera mantenimiento manual, te recomendaría usar una herramienta de ocultar características seleccionadas dedicada. Estos módulos están diseñados específicamente para esto y se encargan de la compatibilidad.