Jump to content


  • Posts

  • Joined

  • Last visited

Posts posted by Ralf

  1. Hello all,

    I have a question about the spell checker SCAYT of CKEditor.
    How do you manage that it is always switched ON automatically and you don't have to click "Enable SCAYT" for every input field?

    I found the following post in the ckeditor forum

    but if I enter the code from there in my Field "Body" under Input -> CKEditor Settings -> Custom Config Options like this

    config.scayt_autoStartup: true

    it doesn't work ... 😢

    Now my question, how do you do it?

  2. Hello Community,

    I am currently working intensively with roles on a site (with Admin Theme Uikit) and the "problem" with the sorting of roles in the user template came up again.

    Does anyone of you know a workaround for sorting the roles in the user template alphabetically?
    By default, they are sorted according to the time of creation, which is quite annoying if you have a lot of roles that were not created in alphabetical order.

    I hope I am in the right part of the forum?

    Thanks Ralf

  3. Hello Community,

    Could someone please help me with the input field type "AsmSelect"? I have a field "select_group" (Type: Page Reference) that loads all roles as a selection. Here my customer would like to have a certain role ALWAYS preselected and be able to select additional roles.
    For this purpose, I have entered the page ID number of the role - 1053 - in the field "Default value" (under Settings specific to "asmSelect").

    However, this entry is somehow completely ignored...!

    Am I misunderstanding something in the description or is it possibly because it does not work with "roles" or is it a bug/feature?

    For your information, selecting and displaying otherwise works wonderfully.

    Thanks Ralf 


  4. @androbey

    Thanks for the tip, I think that's exactly what I'm looking for. BUT unfortunately I can't get it to work like in the example...

    If I use the code from @Edison above, it basically works.

    But if I extend the if-line - like this

    if($page->template->name === 'user' && $page->isChanged('roles')) { // >>> APPLY ONLY TO USER TEMPLATE

    and if I can't address roles directly but have to iterate, I also tried it with a "normal" textfield e.g. like this

    if($page->template->name === 'user' && $page->isChanged('surname')) { // >>> APPLY ONLY TO USER TEMPLATE

    OR the if-statement also separately after the if-statement of the template "user"...

    if($page->template->name === 'user') { // >>> APPLY ONLY TO USER TEMPLATE
    	$changes = user()->getChanges(true);
    		// LOG & send email from @Edison

    But with all my attempts I don't get an email anymore 😞

    Is this related to the user template or have I simply implemented the code incorrectly?

  5. Sorry to reopen this old topic, but I have a question about this exact topic.

    How can I restrict the sending of emails even further and ONLY if there has been a change to the template user (see code above) AND ONLY for the roles, for example?

    In other words, please send an email if there is a change in a role (or a field xy) for a user and DO NOT send an email for all other changes for a user!

  6. Hello @bernhard,

    I'm trying to do exactly the same thing as Mr. NiceGuy and I think I understand what you are trying to tell us with this statement.

    On 5/20/2020 at 11:02 PM, bernhard said:

    You need to init() the panels again. This is usually done when the dom is first loaded. So panel-links don't work on ajax loaded markup. See this request + workaround: https://github.com/processwire/processwire-requests/issues/176

    However, I do not understand how I have to implement your workaround - from the two issues on Github - if I have in a module a "MarkupAdminDataTable" with many pw-panel links and then after editing a panel it updates the MarkupAdminDataTable automatically? Could you possibly help me here?

  7. Hello @adrian,

    I have found the problem or what setting is related to this error with the failed download.

    Namely it is because of the "access controls" for this field!
    Because if I right click on the video element in the template and then in the Modal "Edit Field" on the "Access" tab at the first question "Do you want to manage access control for this field?" on "NO" the setting is, then EVERYTHING WORKS!!! It loads the thumbnail and everything is fine!

    BUT if I set this setting to "YES" and then give all roles ONLY the page view rights - so that actually "only" the superuser is allowed to edit this field (is actually so desired here) - THEN and exactly THEN the module suddenly does NOT work or gives the error from above and NO image is loaded.

    Hmmm whether this is now an "error" of PW or of your module? Or is it not a bug but a feature?

    It's just strange that with a PDF field the whole thing works exactly the same - with the settings regarding visibility and editing only for superuser...

  8. Hello Adrian,

    you're right, I'm actually using pageFileSecure on the project .... is that a problem?
    And come to think of it, on the other installation I'm not using it and the second installation is still on an old PW version 2.7 😞 so probably not quite as comparable.

    Can I give you more details to get to the bottom of the error?

  9. On 1/31/2016 at 9:22 PM, adrian said:

    Completely wrong - it does already support repeaters - you just need to specify the template of the repeater in the "Templates to search" config setting. 

    The problem with the module on your site was due to fopen not working on files at external URLs. The current version should now work on your server.

    Hello Adrian,

    I can't get this wonderful module to work on a PW page...
    I always get this error:

    PagesEditor: Fehler beim speichern von Feld "Videos" — fopen Fehler für Dateiname: /www/htdocs/xxxxxxxx/site/assets/files/-1329/hqdefault.jpg

    You have already fixed the problem here in this thread 2016 and actually it should work now.... but unfortunately it does not work for me for reasons unknown to me.
    What else can I do?

    My settings look so actually right (have two older projects running with it - without problems) 😞



    Thanks Ralf

  10. On 11/9/2015 at 11:25 AM, horst said:

    I'm using it with insertBefore the image field and it works fine, regardless of PageStatus.

    I also have added two lines to the AdminCustomFiles/AdminThemeXXXXX.css files to move it to the right:

    #wrap_hook_sort_images { float: right; }
    #wrap_hook_sort_images:after { clear: both; }



    are you still using this hook with the latest PW version?
    I'm trying to display the button on the right like you, but it's just not displayed on the right. 🤔

    I must confess I do not use the module "AdminCustomFiles" now however it should go with this Hook nevertheless also?

    $wire->addHookAfter('AdminTheme::getExtraMarkup', function (HookEvent $event) {
    	$parts = $event->return;
    	$parts['head'] .= '<style type="text/css">
    		#hook_sort_images { float: right; }
    		#hook_sort_images:after { clear: both; }
    	$event->return = $parts;

    But it does not currently...

  11. On 1/25/2021 at 11:02 AM, LostKobrakai said:

    The HTML5 number input should handle that already.

    Yes with the HTML5 input type the issue of a comma or dot for the "decimal places" is solved.

    However, I then have the issue in the admin area that large values are as good as no longer readable, because I can now no longer capture points.


    With the input type text I can enter commas and dots, but as bernhard has already explained in this issue report, PW then stores no value in the DB.
    And now?

  12. Hello all,

    I am just thinking about building a small accounting tool with processwire for my club. Background, I'm tired of doing everything with excel and constantly picking out the accounts and co.

    The whole thing should be nothing special, but I have a question for you experts that is bothering me right now.

    I need the possibility to specify several lines (debit to credit) per "posting". E.g. for different tax rates in an invoice or for different areas on which I want to distribute the booking.
    My question now, what would be the "easiest" or best way to solve this?
    With my current knowledge, I would probably solve it with repeaters, but is that the easiest/best solution?

    The longer I think about it, it is probably the same as with an invoice tool, there you also need partly several positions. Maybe one or the other of you has already solved this problem for yourself?

    I look forward to your ideas / suggestions.


    @bernhard on the search for solutions for this contribution, I also became aware of your tool RockPrice, are you there with the evaluation after tax rates already progressed? this would of course also be a requirement of mine for the advance return for sales tax ("Umsatzsteuervoranmeldung")...



  13. On 2/21/2021 at 12:14 PM, dotnetic said:

    Your example pdf.php looks absolutely fine. Please try to save the PDF file via $pdf->save() or $pdf->download() and then take a look if the PDF is generated.


    I have tried and the result is that 
    $pdf->show() => does not work
    $pdf->download() => does not work
    $pdf->save() => works, puts the correctly generated PDF on the server

    so it seems to be rather a problem with the output method "markup regions" which I use, respectively that I still have a wrong code structure here or?


    On 2/22/2021 at 8:53 AM, bernhard said:

    I'd suggest the following:

    First, disable markup regions to confirm that it works when markup regions are disabled. Then enable markup regions and to this:

    // replace this
    include 'pdf.php';
    // by that:
    echo "include PDF here";

    Then load your page that should create the PDF and inspect the HTML (right click -> show sourcecode). What does the source code look like?

    Thanks bernhard, I went through the points one by one
    1. I deactivate markup regions in config.php => output in browser works now! (However, the design no longer fits)

    2a. I enable markup regions again and test the change from above (I'm not quite sure now if I should really just put the "echo" in the "case 'pdf': "? I do it, and it outputs my design (up to the header, then a white body, and the footer again at the bottom). The only thing it outputs to me at the bottom of the pw-region-debug line is "No regions" and the time of generation, nothing else.

    2b. I interpret your echo to mean that I should paste the code from my pdf.php file here instead of the include command. Unfortunately the result is again the same as above with dotnetic's suggestion. The only code that works to create a PDF is save().

    3. "... what does the source code look like?" => Unfortunately there is no real HTML code to look at or parse (except for the one in point 2a, but there it doesn't process anything....) so I can't share anything.

    Sorry if I'm a bit clumsy here.... I am therefore very grateful for any help.

  14. 2 hours ago, bernhard said:

    I don't understand why you want to use markup regions for rendering HTML of the pdf??

    you misunderstood me then, i don't want to use markup regions to render html.
    I just thought that because I use the template "Regular" and this is based on markup regions, it is probably because of that? Because the same code works for another project where I have chosen a direct output. See in this thread on page 2.

    I will shown below my actual structure....


    2 hours ago, bernhard said:

    Are you trying to render a regular page HTML as PDF??

    actual in my output-pdf.php File I have only this code

    $pdf = $modules->get('RockPdf');
    $pdf->set('SetHeader', 'This is my header text');
    $pdf->write('Hello World ' . date('H:i:s'));
    $pdf->write('<!-- my custom comment -->');
    // Output
    $pdf->show(); // to directly show your file in the browser

    so I think if I understood the question correctly, the answer is no?


    ok maybe it's easier if i just post my code to show what i'm trying to do




    (with activated URL segments in the backend to the "management.php" template)

    // Login protection for this page by LoginRegisterPro
    if($user->isLoggedin() != true) $session->redirect($config->urls->root.'user/', false);
    // Checking the authorization to display the administration page
    if($user->hasRole("editor") != true) $session->redirect($config->urls->root, false);
    if(strlen($input->urlSegment2)) throw new Wire404Exception();
    switch($input->urlSegment1) {
    	case '':
    		// Output to the content-body ?>
    		<div id='content-body'>
    			<? // The following code will later control the content that will appear on the PDF ?>
    			Please select an entry:<br>
    			<form class="uk-form-stacked" action="<?=$page->url;?>pdf/" target='_new' method="post">
    				<input type="hidden" name="check" value="PDFdruck">
    				<div class="uk-margin">
    					<div class="uk-form-controls">
    						<select class="uk-select" id="form-stacked-select" name="assignment"><?
    							foreach($pages->find("template=lesson, date_from<=today, sort=-date_from, sort=-date_time") as $lessonID){
    								echo"<option value='". $lessonID->id ."'>". $lessonID->date_from ." ". $lessonID->date_time ." clock</option>";
    							} ?>
    				<input type="submit" class="uk-button uk-button-secondary uk-button-small" value="Output status as PDF">
    		<!-- content-body -->
    	case 'pdf':
    		// Display PDF in Browser
    		include 'pdf.php';
    		// Anything else? Throw a 404
    		throw new Wire404Exception();


    actual for testing (but even that unfortunately does not work...)


     * Outputs a PDF for independent printing
     * Version 2021-02-xx
    // Code for the creation of a PDF
    $pdf = $modules->get('RockPdf');
    $pdf->set('SetHeader', 'This is my header text');
    $pdf->write('Hello World ' . date('H:i:s'));
    $pdf->write('<!-- my custom comment -->');
    // Output
    $pdf->show(); // to directly show your file in the browser

    And that's it, with these specifications come the errors from above....



  15. Hello all,

    once again I have a problem how to integrate the PDF output into my page ...
    (With a direct output I get it in the meantime, see here).

    But now I use the standard template "Regular" (which is already included in the installation) and it uses the "Markup regions" method as output strategy.

    Well, and this is where I get stuck. Because if I try it with the same method as in the link above, it wants to open a PDF in the browser, but there is ALWAYS an error message.

    However, it can't be the code, a) I've already tried it only with the most necessary and b) any test code works wonderfully in "Tracy", whether I want to output it directly or save it, everything works.

    Now I'm unfortunately a bit at the end of my ideas and hope to get some helpful tips from the community.

    Would be happy, thank you and stay healthy
    cu Ralf

  16. 8 minutes ago, BillH said:

    It might also be a good idea or turn output formatting off....

    Thanks for the suggestion, but I need a formatted output in various other places (eg in the backend overview), so I can not implement this manner.

    I have inserted the $page->of(false); 🙂


    But I still have a question about your first answer, or rather I do not really understand the last sentence.

    On 2/6/2021 at 6:36 PM, BillH said:

    Note that if hooking on saveReady you don't need to save the field or page because the page is about to be saved.

    How can this work? If I enter a date in the field A, how can he fill the field B WITHOUT saving the page (without Ajax)? Or am I just misunderstanding your statement?

  17. @BillH

    thank you very much, that was exactly what I was looking for....

    I only had to modify the following line slightly, otherwise it gives me problems with my date (fieldtype: datetime).

    // old line
    $originalValue = $page->date_field;
    // modified line to my needs
    $originalValue = strftime('%Y-%m-%d', $page->getUnformatted('date_field'));

    cu Ralf

    If someone wants to see the whole code again...

    $pages->addHookAfter('Pages::saveReady', function($event) {
    	$page = $event->arguments('page');
    	if($page->template == "relevant-template") {
    		$originalValue = strftime('%Y-%m-%d', $page->getUnformatted('date_field'));
    		$newValue = date("oW", strtotime($originalValue)); // or whatever you need to do
    		$page->set("interger_field", $newValue);



    • Like 1
  18. Hi all,

    i am currently facing a task where i want to fill an integer field using php based on an input from another field as already written in the subject.

    Specifically, my request is as follows:
    I have a date field in which I select e.g. the date 2021-02-06. In a second field (I thought e.g. of an integer field) the correct calendar week is now automatically entered according to the input from the "date field". In my case this would be "06" or "202106".

    The PHP code for the conversion would be theoretically this

    date("oW", strtotime("2011-01-07")); // gives 201101

    Could someone help me with the hook here???

  19. Hello everybody,

    in order not to hijack the Wishlist & Roadmap thread, here is an extra thread about my current webP problem where I need your help.
    More precisely, it's about a strange phenomenon in the creation of images.
    - I have an Image Field, where I can upload an image.
    - Then I save the page with the image and call up the internet address in the frontend.
    - PW now generates a webP image for me.
    => HOWEVER this picture is unfortunately "empty"....

    More details see in this article here:


    Help where is my error? Is it PW? is it the GD version I use?

    Thanks Ralf

  20. Hello everybody,

    i am currently working on a project where i want to implement the webp support in the code (<picture>...).
    But what I'm already busy with all this weekend, that PW for whatever reason doesn't always generate a webp image?

    In the first screenshot (which is reproducible) no webp image is generated.


    But if I edit this original picture and change parts of it, then make a jpg out of it and upload it, it works.


    Unfortunately, this is not only the case with this picture, but with other pictures this has already happened to me on Friday 😞

    Help what could be the reason for this?


    The server specification from my hosting provider
    ProcessWire 3.0.165
    PHP version 7.4.10

    gd module version 2.1.1
    WebP Support - enabled

    imagick module version 3.4.4
    but NO entry in the supported formats!
    (that's why I did not enable IMagick Image Sizer)

  21. Hello Ryan,

    thanks for the update and yes the new page is more the look-and-feel of the main page.

    I'd like to give you a short feedback on two points I noticed during the first view/trial.

    1. I have to admit that I personally am a person who likes to visually perceive larger lists. That is to say, I appreciated the fact that in the old page a small picture of the author was displayed with each module entry. I have to admit, if I have a list of 25, 40 or 50 modules in front of me and all entries look "the same" I knew in the past, I'm now looking for a module of author x, who has his picture looking like this... and then I "scrolled" over the search result quite fast.
    Would it be possible to include this module Autor Avatar in the new directory?

    2. The second point concerns the search function in the module directory. Currently it seems to me as it looks like it probably does not search in the "body" area. Would this be possible?

    Explanation: The following problem occurred during my first test, the first module which I always install with every new PW installation is the "ProcessWireUpgrade" module. So my difficulty was, I can't remember the exact name ... don't ask why, I already tried it with postits etc. etc. ... nothing helps. 🙈  So I entered "Update" in the search field (I know update and upgrade is not the same thing) and it gives me only one entry here: "MarkupBrowserUpdate" 🤔 but that's not what I was looking for. I knew that the module is from you, so I clicked on your name in the author's section and went through all your modules and see, it's not update but upgrade. OK the search can't find anything, but the word "update" does appear in the body text, so why doesn't it show me this?

    Long speech, short sense...
    wouldn't it be helpful if the search function would also search the body area?
    Or a completely different idea (I'm working a lot with the blog system right now) how about a hashtag function for the modules? The module author can then enter 1, 5, 10, ... Keywords to be included.
    Or would even both be helpful?

    Only my two cents, thanks for reading and a nice weekend

    • Like 3
  • Create New...