Vayu Robins Posted September 23, 2015 Share Posted September 23, 2015 Hi. I am trying to add an extra input field to the FileInputField. I have modified the ImageExtra module. http://modules.processwire.com/modules/image-extra/. I would like to use the InputfieldPageAutocomplete field to add users. However the layout seems wrong and when typing, nothing is suggested, it doesn't find a user. Here is the code I have used: protected function renderUserItemField(Pagefile $pagefile, $id, $n, $current) { $fieldName = $current . '_' . $id; $field = $this->modules->get('InputfieldPageAutocomplete'); $field->setAttribute('name+id', $fieldName); $field->setAttribute('parent_id', 29); $field->startLabel = $this->_('Partner'); $out .= $field->render(); return $out; } I have attached a screenshot of how it is rendered on the page. I hope someone can help me. Link to comment Share on other sites More sharing options...
adrian Posted September 23, 2015 Share Posted September 23, 2015 Is InputfieldPageAutocomplete.min.js getting loaded? Are you seeing an AJAX request (via the console Network tab)? Are there any errors? Link to comment Share on other sites More sharing options...
Vayu Robins Posted September 23, 2015 Author Share Posted September 23, 2015 Hi adrian. Thanks for helping. No, the InputfieldPageAutocomplete.min.js is not loaded on this page, and this could of course be the problem. I will look into how I can do this. If there is a certain way to do this in processwire backend, then please let me know. I will try to search for this. Link to comment Share on other sites More sharing options...
adrian Posted September 23, 2015 Share Posted September 23, 2015 Hi adrian. Thanks for helping. No, the InputfieldPageAutocomplete.min.js is not loaded on this page, and this could of course be the problem. I will look into how I can do this. If there is a certain way to do this in processwire backend, then please let me know. I will try to search for this. Often you just need to do this: public function init() { parent::init(); } The parent::init() is the trick. Here is a comprehensive discussion on it: https://processwire.com/talk/topic/1416-inputfieldmodule-doesnt-autoload-their-jscss/ Link to comment Share on other sites More sharing options...
Vayu Robins Posted September 24, 2015 Author Share Posted September 24, 2015 Thanks again! Unfortunately it did not work. The module does not extend Inputfield, Process or ModuleJS. However, I was able to load the files like this: public function init() { wire('config')->styles->append("/wire/modules/Inputfield/InputfieldPageAutocomplete/InputfieldPageAutocomplete.css"); wire('config')->scripts->append("/wire/modules/Inputfield/InputfieldPageAutocomplete/InputfieldPageAutocomplete.min.js"); } But loading these files did not fix the problem, so the InputfieldPageAutocomplete still does not work. Link to comment Share on other sites More sharing options...
adrian Posted September 24, 2015 Share Posted September 24, 2015 Actually, it does extend Inputfield: https://github.com/ryancramerdesign/ProcessWire/blob/master/wire/modules/Inputfield/InputfieldPageAutocomplete/InputfieldPageAutocomplete.module#L15 but since you are using it from a different module it doesn't know to autoload these because they are not in the same folder as your new module. I think you might need to share the code for your new module so we can see where things might be going wrong. 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