Jump to content

Cybermano

Members
  • Posts

    87
  • Joined

  • Last visited

  • Days Won

    1

Everything posted by Cybermano

  1. Happy New Year everyone and thanks for sharing! I am amazed with this thing that also chats in other languages: I asked a question in Italian and it gave me a perfect answer… also translating the comments, but not the code statements… ??
  2. I also thought about a problem with the page name (on multilanguage): in fact I'm stunned with all the "___callUnknown('localName', Array)" errors... Could it be due the array structure of the page name on multilanguage ('data' for default lang, and a kind of 'nameXXXX' for the other languages) ? If so, I never received a similar error before... not in page API, not in hooks, not AJAX...
  3. Hi everybody. I'm using this module in a site, either in hooks and in page API and it works fine. (Actually in page API mPdf generates a deprecated method - v5.7 - that I suppress with a postponed @, but all work fine.) Now I'm trying to use it in an AJAX call, handled by another hook "ProcessPageView::execute", but I get an exception due a Page::localName as a method that doesn't exist or is not callable. (in /wire/core/Wire.php line 564) For me it's a strange behavior: why this exception in wire.php? And only with ajax call? I'm not sure, but I think it could depend by a "<br/>" outputted in the JSON parse (from where?), this is the message of the inspector: XHRGEThttps://pdftestsite.com/create-pdf/?page=3527 [HTTP/1.1 500 Internal Server Error 234ms] SyntaxError: JSON.parse: unexpected character at line 1 column 1 of the JSON data 1 <br /> 2 3 4 Hmm… Error: Exception: Method Page::localName does not exist or is not callable in this context (in /wire/core/Wire.php line 564) 5 6 #0 /wire/core/Page.php(1808): ProcessWire\Wire->___callUnknown('localName', Array) 7 #1 /wire/core/Wire.php(420): ProcessWire\Page->___callUnknown('localName', Array) 8 #2 /wire/core/WireHooks.php(951): ProcessWire\Wire->_callMethod('___callUnknown', Array) 9 #3 /wire/core/Wire.php(485): ProcessWire\WireHooks->runHooks(Object(ProcessWire\Page), 'callUnknown', Array) 10 #4 /wire/core/Wire.php(488): ProcessWire\Wire->__call('callUnknown', Array) 11 #5 /site/modules/Pages2Pdf/Pages2Pdf.module(506): ProcessWire\Wire->__call('localName', Array) 12 #6 /site/modules/Pages2Pdf/Pages2Pdf.module(261): Pages2Pdf->getPDFFilename(Object(ProcessWire\Page), 13 14 This error message was shown because: you are logged in as a Superuser. Error has been logged. 15 16 Does anyone have any idea? At the moment I solved with a in page if($input->get->savepdf) statement, but I prefer to use ajax for a much better controls of the responses. For completeness of information, this is the function invoked from the ajax call, but I'm quite sure it's correct:
  4. Thanks everyone for the suggestions. In fact, if I had known about this "hidden" function, I would never have asked myself how to solve it adding my own custom code ... ? Even if I think the global checkbox is even more immediate.? So in case of a next "note" adding, I suggest to consider my option first. ?
  5. Hi overoon, I also think that maintaining PW up to date is mandatory, but in this case isn't the reason for the @verdeandrea problem, mine and maybe for the same one occured to others. As far I know, this module doesn't indicate the minimum required version of PW, so I can assume that it works with all of PW versions. In this case it's enough to change few line of code in the module config file, as pointed above. This is only to be clear and it is not a criticism of you or of your post. ?
  6. Found same problem, and the reason isn't in PW old version as mentioned, but in few line of code of the module that calls the field type in a short but wrong way (in PrivacyWire 1.1.0 it was right). Solved editing PrivacyWireConfig.php at those lines // line 15 'type' => 'asmselct' -> 'type' => 'InputfieldAsmSelect' // lines 126, 151, 273 'type' => 'ckeditor' -> 'type' => 'InputfieldCKEditor' // lines 167, 184 'type' => 'url' -> 'type' => 'InputfieldUrl' I have opened an issue on github: https://github.com/webworkerJoshua/privacywire/issues/25
  7. Maybe it's an intentional lack to be sure and to double check the deleting of the fields from a template. But when developing new sites from older one, for me it's usefull to delete lot of fields quickly. Some times templates needs to be cleaned from lots of fields, so for me it's bit annoying to check all fields one by one (for many templates). I wrote few line of js and loaded them in admin side to have a global checkbox to check all the others for fields removal. Maybe somebody here could consider to implement this feature in the template ui (obviously, in a much more elegant way than mine ? ) My code has a very basic behaviour, without the full range of control (just select/unselect all and uncheck when removing one from all checked ones) $(document).ready(function(){ // Only when selected fields to be removed are more than 1 if ($('input[id*="Inputfield_remove_fields_"]').length > 1){ // get fields list to delete and add a global checkbox $('li.Inputfield_remove_fields ul.InputfieldCheckboxesStacked').append('<li><div style="margin-top:20px;"><b><label><input type="checkbox" name="select_all" class="uk-checkbox"><span id="select_all_label" class="pw-no-select">Select All</span></label></b></div></li>'); // some basic logics on checkbox change trigger $('input[name="select_all"]').change(function(){ if ($(this).is(':checked')){ $('input[id*="Inputfield_remove_fields_"]').prop('checked', true); $('span#select_all_label').text('Unselect All'); } else { $('input[id*="Inputfield_remove_fields_"]').prop('checked', false); $('span#select_all_label').text('Select All'); } }) // additional basic logic on field checkboxes uncheck $('input[id*="Inputfield_remove_fields_"]').change(function(){ $('input[name="select_all"]').prop('checked', false); $('span#select_all_label').text('Select All'); }); } }); Then this code has to be loaded in admin.php, as usual after the load of JqueryCore (tanks @Soma http://soma.urlich.ch/posts/custom-js-in-processwire-admin/ ) $config->scripts->add($config->urls->templates . "YOUR_PREFERRED_DIRECTORY/YOUR_FILENAME.js"); Hope it could be useful or for inspiring. A little screencast:
  8. Maybe I've found my way playing a bit. For other newbies like me, I think the pointed requests are: setApikey=> sk_key according to pw syntax $session->set('key', 'value') => $session->set('prod', $page->title) form stands for an html <form></form> with options to get info such as shipping methods, product quantity, discount codes, coupons and so on... to calculate the final amount I think Stripe Payment Links work greatly with a simple <a> tag, such as <a title="Stripe checkout for This Product" href="https://buy.stripe.com/my_productlink" target="_blank">This Product</a> in PW we could have a template with a field for the link and output the same as <a title="Stripe checkout for <?= $page->title ?>" href="<?= $page->stripe_payment_link ?>" target="_blank"><?= $page->title ?></a> and in this case we could also publish into some socials from PW like fb, telegram, and so on. But I think I've missed something important from your post: How does a Stripe Pyment Link interact with the above php checkout?
  9. Hi Angelo, thanks for sharing this. I would like to test it, but I need two clarification if it's possible (from you o from who already tested it): Point 3) Use variables in template 'product': Does $page->title need quotation marks or not? If yes, are you sure to use without concatenation syntax? eg. '"' . $page->title . '"' Point 4) Insert a form in the template 'product': what "form" stands for? It's a specific html form with buying data or something else? ...and last, but not least: please, can you specify which ApiKey to use? Many thanks in advance.
  10. Hi Robin, many thanks for your time and for your "academic" exposition. ? You have clarified me a lot. Surely I have misunderstood your exposition for the sorting by index, into the the linked thread. foreach($r_items as $index => $r) { // Update the sort value of the repeater page // See: https://processwire.com/api/ref/pages/sort/ $pages->sort($r, $index); } I had assumed that in this foreach $pages->sort() stands for $page->repeater_item->sort() I beg your pardon... ? And for the record, now with your help (?) my whole mess (?) is working perfectly ...
  11. Don't worry, in fact I'm sorry for invading your post. Now I'm looking deeper into RobinS indication and affectively it works fine. Surely the fault is mine. Thanks again. ?
  12. Hi MarkE, sorry for bothering you... Unfortunately, compared to expectations, it didn't work out as I hoped. In my case, I have a matrix of scores stored by race, but when I add one or more races (repeater items) for all the competitors, some of this items shift randomly (4 digits are the id of the items, only for debug). Not all the times, but "sometimes"... also randomly... Completing the blank scores, the ID clarify the shift of the repeater items... The ADD/REMOVE items process is done by hook, with getNew() and add() methods (also tried append(), but nothing changed)... In Tracy Debug I can order the repeaters properly, but nothing more: it seems that after sorting the page is not saved ... And into the single competitor page, with Tracy all seems working good, but on each page refresh the repater items are always shifted. The repeater is not saved... Looking for other posts besides your, I found this one by @Robin S but the sorting by index didn't work... ? Do you have any suggestion?
  13. Hi Mark, you are my hero of the day! ?
  14. You’re welcome, and I hope you could enjoy it! ? Please, let me know if it could be helpful.
  15. This is the updated link to GitHub: https://github.com/cybermano/CustomNotes.git And attached the zipped file for the updated module. CustomNotes-main.zip
  16. Hi wbmnfktr, Don't worry, you didn't offend me ? : maybe I could be too verbose and not clear. First of all, this module doesn't install a kind of "tool" that manages food allergens in an automatic way. It moved from a need of this kind. Let's me explain better, if I can. Admin editors (webmaster or their clients too) may need to check recursively some data when edit lot of pages, e.g. inserting allergens in food menu (for each dish). So I thinked to a kind of "post-it" (or a sticky note) to check when I need to edit a page: for example, I'm not a chef nor a restaurant manager and I don't know by heart all the food allergens. So, for many clients that asked to us to maintain web editing and data entry, I built an admin page where I can check the list of allergens. But this slows down the editing process, because the page is loaded as a new page (or it could be loaded as a new tab, switching between it and the page that I'm editing). With the help of many people here, I have developed this module do build a system of "links" that they make appear a "panel" or a "modal" with the list of allergens. Obviously, you must have already setted all your fields, templates and logics. In my case, we have Hanna Code shortcuts to put into "Allergens" field, into a "menu repeater", that will be rendered as a button with tooltip. My Hanna Code item, in this case, is : <button type="button" class="btn btn-sm btn-warning rounded" data-container="body" data-html="true" data-toggle="popover" data-placement="top" data-content="<strong>Mustard</strong> and foods containing mustard."> 10 </button> In other way, you can set a SelectOptions field with Checkboxes: The code logics to display these buttons could be very similar, it doesn't matter. Here comes the help of my module: you can set where to insert the link to the list (e.g. the notes of the "allergens" field, or a sticky button that follow your scrolling). So you can limit the visibility of the link only to specific template, pages, and/or fields. Ad you don't have to open new tab or switching between them: it's available immediately. It helps me very much and speeds up my workflow for data entry. 07-CustomNotes-lr.m4v But this is not only for List of Allergens, of course. You could embed video (with the powerful tool of Video Emebed TextFormatter) , pdf manuals (just insert a link with target="_self", and it will be displayed into the panel or modal windows. In the second case it will be displayed into the whole modal like a "preview", very useful...), and other stuff. Let's think about technical manuals, videotutorials and text abstracts: pdf-docs.mp4.0a806606f78dcd86cecfe22f074c0b80.mp4 All you need to do, it's simply edit the CKEditor textarea into the settings of the module, as you do for each page that you edit. Then you will find a "reminder" where you would to see it. I hope I have explained better the use of this module to you and maybe to everybody that would try it. Now I will upload the upgrades with the corrections of @teppo .
  17. Thanks to @teppo for his support and help. Currently a new PR is merged on GitHub. ASAP I will update the attachments of this thread.
  18. Hi @teppo PR merged on the trust. ? As posted on GitHub , your eyes will surely solve my newbie errors. ASAP I will check deeply all. Thanks again.
  19. Hi Teppo. First of all, many thanks for you time and for your suggestions. Very appreciated. At the moment I’m on mobile and far from my pc. ASAP I will check it and fix as you pointed. In the meantime, please split the discussion as you see fit and as it’s more convenient for the forum. Many thanks again for your support.
  20. Hi to everybody! I found this useful module and it works fine on desktop (either pc and mac, Chrome/Safari/Opera/FireFox/Vivaldi and IE), but sometimes I've encountered different behaviours on mobile (tested on Android and iOs, with Chrome, Firefox, Opera, and Safari). Briefly, I built an html table in delayed output (a race ranking, one for each different race pages), I collect it into a variable and passed it throug a $_SESSION index to another page where it's grabbed with a ob_start()/ob_get_contents()/ob_end_clean() statement (no echos are present out of this one ob_start/ob_end). Despite the desktop pdf output it's ok (I can show()/save()/download() the files and open them with Acrobat, and into docs properties I found each custom setting, e.g. title, author, application and so on) on mobile, instead, I encountered two kind of issues: 1) Most of times, in Chrome, I was alerted of a non valid file, or FireFox it's not able to save pdf file. 2) Some times the file is outputted also on mobile and it's perfectly readble, but on save and on open by Acrobat App I found the content empty with the notice of the $_SESSION['nameofindex'] undefined. N.B. Same results also calling directly mPdf after RockPdf and setting it's proper methods. No problems with a "static" html code passed to the write() method, but I'm getting crazy figuring why it works fine on desktop and not on mobile (or it's ok also on mobile, but can't save a correct file) with $_SESSION. Does anyone encontered same kinds of these strange behaviours? Any suggestion about that? Many thanks in advance.
  21. Hi to everybody. I developed a bit this works and I would like to share it with you. Install, uninstall, tabs and minor improvements added and debugged. I've also opened a github repo: https://github.com/cybermano/CustomNotes Do you suggest me to open a new thread? CustomNotes.zip CustomNotes.module README.md CustomNotes.js
  22. Thanks for pointing me out those solutions: really rocks! For CKEditor field they are the first solution we'll considering in future. At the point of our production code, also page reference didn't suits well (we would maintain simple textarea and HC). Surely we will change templates and code to use these powerful tools for the next uses. Currently I think the first idea is really flexible (even if less powerful) to adopt it in a lot of ways, for lot of ready-made sites, and with different solutions without efforts. E.g. for food related sites we could use it as the List of Allergens, for many others could be used like a docs repo or a shortcut to a help-desk, tuts o more... pdf-docs.mp4
  23. Thanks Bernhard, your advice spurred me not to settle. I will surely give a look at the solution of BitPoet, it sounds very interesting... P.S. Everyday I discover a mine of treasures...
×
×
  • Create New...