The new position should be saved
Nothing happens when the user tries to type in the position name
Joomla 3.4.1, tried with Chrome (latest version), Firefox (latest version), IE 11
The problem occurs when the user has deleted all default templates and has only his template with positions count less than 10. In that case the chosen plugin does not render search field where normally we put new position that does not exit. Read the comments for additional information.
Labels |
Added:
?
|
There is no text comming in the field when I'm typing the position name. I did try to press enter though, but with no avail.
I can't replicate this.
On 4 May 2015 11:22 pm, "vancata" notifications@github.com wrote:
There is no text comming in the field when I'm typing the position name. I
did try to press enter though, but with no avail.
This comment was created with the J!Tracker Application
https://github.com/joomla/jissues at issues.joomla.org/joomla-cms/6892
http://issues.joomla.org/tracker/joomla-cms/6892.—
Reply to this email directly or view it on GitHub
#6892 (comment).
Can you clear your browser’s cache and re try?
Just tried to clear the cache, same result. I haven't accessed the joomla site with IE and the problem was the same there so it's not cache. Please note that I use Joomla 3.4.1. From the drop down Position I can select any predefined position but I'm unable to type anything inside (new position name)
Do you have any errors logged in browser’s console? I can’t replicate here
No errors in the console.
I'm using a fresh installation of joomla 3.4.1 (not an update)
@vancata I can't replicate this either. Perhaps this takes place with a certain module? When creating a new custom HTML module with a fake position called "cat" it saves it just fine. Also try a different browser to see if it is browser specific.
I tried 3 different browsers but if the others can't reproduce it, then probably the problem is only on my computer.
As mentioned before, perhaps it's module specific. Have you tried this with creating a custom html module? Is your Joomla installed on a server or your own computer?
I'm testing with custom HTML module, I tried on another joomla 3.4.1 (not fresh install but updated) and there I can see the field for typing the new position name. Then I inspected the problematic element and I can see that the control that renders the dropdown (it's a "Chosen jQuery plugin) has a class chzn-container-single-nosearch, which actually makes the search field disappear and I can't type anything. Now, why it has this class I have no idea.
Check for customized chosen library by extensions, likely template frameworks!
Reset priority https://docs.joomla.org/Priority
Priority | Critical | ⇒ | Medium |
YES, I figured it out. Finally I decided to check the joomla code and I can see that in the JHtmlFormbehavior class where the chosen jQuery plugin is configured, there is a "disable_search_threshold" option set to 10 by default. If the items in a chosen drop down are less then 10 then there is no search functionality because you don't really need search functionality for less than 10 items. BUT the search functionality is used to type in new position name. So in my case I had only 4 positions defined in my template (header, footer, mainmenu and content). So when I click on the position field to type my custom position chosen plugin sees that I have only 4 items in the control so it doesn't show the search input field and I can't type anything. So in case there is less than 10 positions the user won't be able to create new positions in the modules.
Suggest priority Very Low or Low in that case!
Well only because the template doesn't have more than 10 positions, the users won't be able to use a major part of module functionality (creating custom positions by typing in). I think this is pretty nasty bug. An easy solution would be to remove the threshold in general.
Suggest you read the document Brian referred to. Definitely a bug in Joomla. The entering of a position has nothing to do with searching the list. They shouldn't be related.
The priority reflects how important it is for the community to fix this issue. Unfortunately your circumstances seem rare. It is not about the number of positions in your template. It is about the number of positions in your templates. Beez contains 16, protostar 18, add to that the 4 of your template and assuming they are used another 4 (Custom positions).
This suggests you removed the standard templates. The easy workaround of adding 2 custom positions to your template should bring back the functionality.
Would be surprised to find another site with only 1 frontend template with less then 5 positions.
I rest my case. On my site I've cleared the default templates (I'm purist freak), so this is why I had the problem.
It only takes another purist that agrees on the fact the functionality should not be mixed.
Advice to have an copy of protostar (different name) installed.
Status | New | ⇒ | Confirmed |
I can confirm this
I'm a bit of a purist myself and try to have as few extensions/templates installed. However I always keep Protostar installed for testing reasons with extensions. It allows me to prove to developers that something doesn't work with the current J version of Bootstrap.
Just a quick and easy fix.
Create a template override .../templates/isis/html/com_modules/module/edit.php
Just 4 lines needed in it
<?php
defined('_JEXEC') or die;
JHtml::_('formbehavior.chosen', 'select', null, array( 'disable_search_threshold' => 1 ) );
require(JPATH_ADMINISTRATOR.'/components/com_modules/views/module/tmpl/edit.php');
I am closing this at this time. A solution for the specific use case of only having one template with almost no defined modules has been provided by bertmert.
The reality is that although this is a valid issue it is an extreme edge case. Especially as currently if you remove a core template it will come back with the next update
Status | Confirmed | ⇒ | Closed |
Closed_Date | 0000-00-00 00:00:00 | ⇒ | 2015-05-25 08:32:38 |
Closed_By | ⇒ | brianteeman |
Build | 3.4.1 | ⇒ | staging |
Are you pressing enter at the end of the naming of the position?