Jump to content

Peter Troeger

  • Content Count

  • Joined

  • Last visited

Community Reputation

13 Good

About Peter Troeger

  • Rank
    Full Member

Recent Profile Visitors

1,125 profile views
  1. I'll have to try next week. Thanks for the help so far. I'll be back!
  2. @flydev no tracyDebugger installed. My processwire Version is 3.0.121 When I add your code modified like this: $jobID = 0; $jobID = wire()->input->get->job; echo $jobID; $jobID = 0; $jobID = $wire->input->get->job; echo $jobID; $jobID = 0; $jobID = $input->get->job; echo $jobID; every echo outputs the ID correctly (must have had a spelling error before). But still not working in my $wire->addHookAfter('InputfieldHidden::render', function($event) use($jobID) { oh, and it also works fine with addHookProperty.
  3. No change. Tried that as well. That's right, I'm in ready.php When I add $wire-> I get the following error: Notice: Trying to get property of non-object. Any other ideas?
  4. Hi I encountered a new problem I don't understand and have been trying to solve for the last few hours. I'm trying to pass a _GET variable to a hook, but maybe the hook is executed before the get variables can be used? This is my code: $jobID = $input->get->job; //$jobID = '1033'; <- when I do it like this, everything works perfectly. $activeJob = $pages->get($jobID); $temp_value = $activeJob->id.' - '.$activeJob->title; echo $temp_value; //outputs expected string '1033 - Job Title' $wire->addHookAfter('InputfieldHidden::render', function($event) use(&$activeJob) { if($event->object->name == 'job_titel_und_nummer') { $temp_value = $activeJob->id.' - '.$activeJob->title; echo $temp_value; //outputs '0 - ', so nothing $event->object->set('value', $temp_value); } }); As always, any help greatly appreciated! Thank you! Peter
  5. Awesome! That was it Thank you very much! So I'm basically selecting the field, and then adding an Option to it. If it exists it just overwrites the existing option and if it doesn't, it just adds it to the dropdown. Right?
  6. I tried something different. And while it doen't work either, at least something happens $wire->addHookBefore('InputfieldPage::render', function($event) { if($event->object->name == 'job_waehlen') { $event->object->set('defaultValue', '1033'); } }); I changed 'addHookAfter' to 'addHookBefore' and the method to 'InputfieldPage::render'. Now the Hook actually seems to trigger and so something. So then I found out that there's a value called 'defaultValue', which I was able to change, but it doesn't seem to have an effect on my Dropdown. It still doesn't preselect anything.
  7. Hi flydev, thanks for your Feedback! It's not working for me. In my dropdown I have two pages. One has as a value '1033', the other '1036'. The Dropdowns name is 'job_waehlen'. Even when I put $event->return->value = $this->pages->get(1033); The Dropdown doesn't preselect anything.< Is my method ('InputfieldPage::processInput') possibly the wrong one for a dropdown input field? - Peter
  8. Hi I'm trying my hands on hooks and was hoping to figure out how to set the default value of a page-select-dropdown of a form, created with formBuilder, via a hook. I want it to be dynamic, so I don't want to set it fixed in the formBuilder Menu. I tried something like this, but I don't know what to set as method and whether I should return a page or an id: $wire->addHookAfter('InputfieldPage::processInput', function($event) { if($event->object->name == 'job_waehlen') { $event->return = '1036'; } }); Any hints and help are greatly appreciated Thanks! - Peter
  9. I have not been able to solve this properly. I cheated in order to stop losing images. I added a DB update and changed the file "last-edited"-Date in the module file (InputfieldSlider.module). Now everytime a slider is saved, it updates all temp image files to permanent files. Not a very clean way to do it, but it saves me from losing data for now This is what I added: $sql = 'SELECT `pages_id`,`data` FROM field_images WHERE created LIKE "1970-01-01 01:00:10"'; $query = $this->database->prepare($sql); $query->execute(); $rows = $query->fetchAll(PDO::FETCH_CLASS); $query->closeCursor(); foreach($rows as $row) { $path = $_SERVER["DOCUMENT_ROOT"].'/site/assets/files/'.$row->pages_id.'/'.$row->data; touch($path); } $sql = 'UPDATE field_images SET created=modified WHERE created LIKE "1970-01-01 01:00:10"'; $query = $this->database->prepare($sql); $query->execute();
  10. So, I compared this file with /wire/modules/Inputfield/InputfieldCKEditor/plugins/pwimage/plugin.js and couldn't find any discrepancies. So maybe the problem lies within a different file? It seems to call just an iframe, so I'm not sure why it would be different for ckeditor and te module...
  11. Hi I'm using a lightly modified Version of ProcessSlider on my PW page (3.0.42). But I'm having a problem with the file upload. It's using Ajax File upload to upload images, which is working fine at first, but the images are only uploaded temporarily (creation date 01.01.1970) when an image is uploaded and saved. When pressing the "save"-Button, this does not change. I'm guessing it's due to changes from PW 2 to 3? This is the js that is calling the iframe upload, I think I don't know what to do to amke it save correctly. Anybody who can give me a hint? /** * ProcessWire iFrameImagePicker plugin * * Light verision of InputfieldCKEditor/plugins/pwimage/plugin.js * * @return callback(src, width, height) * */ function loadIframeImagePicker(page_id, callback) { var page_id = page_id;//$("#Inputfield_id").val(); var edit_page_id = page_id; var file = ''; var imgWidth = 0; var imgHeight = 0; var imgDescription = ''; var imgLink = ''; var hidpi = false; var modalUri = config.urls.admin + 'page/image/'; var queryString = '?id=' + page_id + '&edit_page_id=' + edit_page_id + '&modal=1'; if(file.length) queryString += "&file=" + file; if(imgWidth) queryString += "&width=" + imgWidth; if(imgHeight) queryString += "&height=" + imgHeight; queryString += '&hidpi=' + (hidpi ? '1' : '0'); if(imgDescription && imgDescription.length) { queryString += "&description=" + encodeURIComponent(imgDescription); } if(imgLink && imgLink.length) queryString += "&link=" + encodeURIComponent(imgLink); queryString += ("&winwidth=" + ($(window).width() - 30)); // create iframe dialog box var modalSettings = { title: "<i class='fa fa-fw fa-folder-open'></i> " + "Select Image", open: function() { } }; var $iframe = pwModalWindow(modalUri + queryString, modalSettings, 'large'); $iframe.load(function() { // when iframe loads, pull the contents into $i var $i = $iframe.contents(); if($i.find("#selected_image").size() > 0) { // if there is a #selected_image element on the page... var buttons = [ { html: "<i class='fa fa-camera'></i> " + "Insert This Image", click: function() { var $i = $iframe.contents(); var $img = $("#selected_image", $i); $iframe.dialog("disable"); $iframe.setTitle("<i class='fa fa-fw fa-spin fa-spinner'></i> " + "Saving Image"); $img.removeClass("resized"); var width = $img.attr('width'); if(!width) width = $img.width(); var height = $img.attr('height'); if(!height) height = $img.height(); var file = $img.attr('src'); var page_id = $("#page_id", $i).val(); var hidpi = $("#selected_image_hidpi", $i).is(":checked") ? 1 : 0; var rotate = parseInt($("#selected_image_rotate", $i).val()); file = file.substring(file.lastIndexOf('/')+1); var resizeURL = modalUri + 'resize?id=' + page_id + '&file=' + file + '&width=' + width + '&height=' + height + '&hidpi=' + hidpi; if(rotate) resizeURL += '&rotate=' + rotate; if($img.hasClass('flip_horizontal')) resizeURL += '&flip=h'; else if($img.hasClass('flip_vertical')) resizeURL += '&flip=v'; $.get(resizeURL, function(data) { var $div = $("<div></div>").html(data); var src = $div.find('#selected_image').attr('src'); callback(src, width, height); $iframe.dialog("close"); }); } }, { html: "<i class='fa fa-folder-open'></i> " + "Select Another Image", 'class': 'ui-priority-secondary', click: function() { var $i = $iframe.contents(); var page_id = $("#page_id", $i).val(); $iframe.attr('src', modalUri + '?id=' + page_id + '&modal=1'); $iframe.setButtons({}); } }, { html: "<i class='fa fa-times-circle'></i> " + "Cancel", 'class': 'ui-priority-secondary', click: function() { $iframe.dialog("close"); } } ]; $iframe.setButtons(buttons); $iframe.setTitle("<i class='fa fa-fw fa-picture-o'></i> " + $i.find('title').html()); } else { var buttons = []; $("button.pw-modal-button, button[type=submit]:visible", $i).each(function() { var $button = $(this); var button = { html: $button.html(), click: function() { $button.click(); } } buttons.push(button); if(!$button.hasClass('pw-modal-button-visible')) $button.hide(); }); var cancelButton = { html: "<i class='fa fa-times-circle'></i> " + "Cancel", 'class': "ui-priority-secondary", click: function() { $iframe.dialog("close"); } }; buttons.push(cancelButton); $iframe.setButtons(buttons); } }); }
  12. Awesome, thank you ver much! It's working now.
  13. I'm using lineheight,horizontalrule,dialogadvtab,tabletools,tableresize,colordialog,magicline,showborders,showblocks I'm not sure what you mean with : Field Input tab, "Remove Plugins", delete magicline. I don't really want to delete ist
  14. Has anyone ever tried implementing MagicLine into CKEditor on processwire? I have quite afew extra plugins running very well, but I can't seem to get magicline to work. Any help is greatly appreciated, thanks! -Peter
  • Create New...