Vayu Robins Posted September 23, 2015 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.
adrian Posted September 23, 2015 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?
Vayu Robins Posted September 23, 2015 Author 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.
adrian Posted September 23, 2015 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/
Vayu Robins Posted September 24, 2015 Author 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.
adrian Posted September 24, 2015 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.
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