Hi,
Backend or frontend, the nameboxes solve the same issues.
1. It's your experience, but not everyone will agree with you. I personally find it much more easy to use. When I have a 100 brands and need to search each time through the list to find the one I want, I'd rather just type a few letters of the brand I want and directly select the brand I want. For the average Joe, even without typing anything in it and looking through the list of brands, it will take him as much time as with a normal dropdown.
2. I wouldn't say plain horrible. But yes, they are definitely less user friendly than the iOS or Android selector that appears on the screen when you click on a normal dropdown.
3. I agree, you need another set of CSS rules to style nameboxes since they are not normal dropdowns.
4. Even for a single choice, they make a lot of sense.
When you have 4 levels of categories and a few thousands of categories, even if you have to select only one of them, it's not possible to use a dropdown for that.
First, over a few tens of elements in a dropdown, the loading time will be slower, and over a few hundreds, it's likely that the page processing will crash. The only solution left besides nameboxes is to use selection popups like we had before. The problem is that Joomla templates don't play well with popups and one third of the time, the popups won't work properly by default because of some javascript or CSS issue with the template. It's a real pain on our end to support that.
Second, it's not possible to properly represent a tree structure in a dropdown. Joomla has done it with ACL dropdowns but you can't expand/reduce the branches of the tree and thus it's a pain to use such dropdowns once the tree has more than a few elements as you always wonder where you are in the tree when using the dropdown.
Third, when you have a big tree of elements, or just a lot of elements, it takes a lot of time to go through the list of the dropdown. With a namebox, you can type a few letters and you get the matching elements and can just click on them. It's a hell of a lot faster.
Fourth, some studies even show that native dropdowns can decrease the usability on mobile devices over custom built dropdowns (like the namebox system we have):
baymard.com/blog/mobile-dropdown-navigation
So even if I agree with you, it seems that the average Joe will prefer a namebox over a dropdown in average.
The only case where a dropdown makes more sense than a namebox is when you have only one selection to do and when you only have a few elements to do that selection from. It's maybe the case on your website, but in most cases, this doesn't apply to categories and brands so I don't see a good enough case to change that in HikaShop or HikaMarket.
As far as I can see, the benefits of nameboxes (tree support, unlimited number of elements, no slow downs of the loading of pages, easy search, less issues with third parties) clearly outweigh the drawbacks (require additional CSS to style it if you want to, less friendly than plain dropdowns on mobile devices for some people).
To replace the namebox of the brand selection by a dropdown, you can edit the file "form" of the view "productmarket" via the menu Display>Views and change the code:
<?php
echo $this->nameboxType->display(
'data[product][product_manufacturer_id]',
(int)@$this->product->product_manufacturer_id,
hikamarketNameboxType::NAMEBOX_SINGLE,
'brand',
array(
'delete' => true,
'default_text' => '<em>'.JText::_('HIKA_NONE').'</em>',
)
);
?>
by:
<?php
$manufacturerType = hikashop_get('type.categorysub');
$manufacturerType->type='manufacturer';
$manufacturerType->field='category_id';
echo $manufacturerType->display('data[product][product_manufacturer_id]',@$this->product->product_manufacturer_id);
?>