Hi,
Most modifications that you did in code files of HikaShop are probably possible with view overrides, pluginsor other methods.
For example, for that table, there are two ways you can add such extra class without modifying the types/characteristics.php file.
One solution is to actually follow our documentation on customizing the display of the characteristics:
www.hikashop.com/support/support/documen...tation.html#override
You need to create the file templates/YOUR_TEMPLATE/html/hikashop_characteristics.php. We invite you to look at the file administrator/components/com_hikashop/type/characteristic.php for the default code of the function you will define in it. In that file, you will be able to define the function:
hikashop_characteristics_html(&$element,&$params,&$obj) => The $element variable will contain the whole product information from which you can extract the characteristics information and the params variable can help you get some parameters from the HikaShop configuration. The $obj variable will be the instance of the characteristic display class. That way, when you get the code from the characteristic.php file, you can just replace $this by $obj and it should work. You need to return the HTML of the characteristics selection at the end of your function.
Another, even simpler solution, is to edit the file "show_block_characteristic" via the menu Display>Views and change the line:
echo $this->characteristic->displayFE($this->element, $this->params) . '</div>';
to, for example:
echo str_replace('hikashop_product_characteristics_table','hikashop_product_characteristics_table table table-condensed',$this->characteristic->displayFE($this->element, $this->params)) . '</div>';
There is not much HTML used for the frontend in type/class/helper files of the backend. And for the few that there is, either we already started moving it in views, or have template overrides, or ways to modify them with view overrides.
But yes, our goal is to move more of the HTML bits in such core files into views in the future.