Jump to content

PWaddict

Members
  • Posts

    926
  • Joined

  • Last visited

  • Days Won

    1

Everything posted by PWaddict

  1. Hi! Is this the proper way to save only 2 fields on a page via API? $order->of(false); $order->pad_user = $u->id; // Save only the pad_user field $order->save("pad_user"); $expireDate = date("Y-m-d", strtotime("+1 year", $order->pad_paid)); $order->expire_date = $expireDate; // Save only the expire_date field $order->save("expire_date");
  2. I'm using the CSS option on few sites without a problem on Google.
  3. Thanks both for the help but last time I tried to repair the crashed table "pages" things got worse. I just deleted the field and re-create it with all it's content. This happened on my Windows PC. I randomly find out about that problem by going to Setup > Logs > Exceptions. Log exceptions don't appear on frontend?
  4. On October 2020 the table pages was crashed and now I just noticed on the logs that at least 1 month ago also a field table crashed. I have never see that notice on frontend otherwise I would have instantly switched to a previous db backup. Now that I noticed this issue by randomly going to logs I don't have any proper db backup as all of them are with that field crashed ? SQLSTATE[HY000]: General error: 1194 Table 'field_faq_answer' is marked as crashed and should be repaired (in C:\laragon\www\mysite\wire\core\WireDatabasePDOStatement.php line 166)
  5. @kongondo I would really appreciate if you could answer the following questions: Will it have pre-order feature for physical and digital products? Will the whole process of ordering (add to cart, edit cart, checkout, PayPal payment etc.) ajaxified?
  6. ProcessWire 3.0.165 (with default Uikit admin theme) Google Chrome 87.0.4280.66 (Official Build) (64-bit) I did more tests and I can only delete the last rule. So, if I want to delete the 1st or the 3rd etc, first I have set it as the last one, press the submit button to save the order list and then I can delete it. Also tested on Firefox 83.0 (64-bit) and I'm getting the following console error if I try to delete any rule except the last one: Uncaught TypeError: $(...).val() is undefined <anonymous> https://mysite.test/site/modules/ProcessCustomUploadNames/ProcessCustomUploadNames.js?v=1.2.9:68 jQuery 2 <anonymous> https://mysite.test/site/modules/ProcessCustomUploadNames/ProcessCustomUploadNames.js?v=1.2.9:59 jQuery 9 <anonymous> https://mysite.test/site/modules/ProcessCustomUploadNames/ProcessCustomUploadNames.js?v=1.2.9:54 jQuery 11
  7. Hey @adrian, it seems it's impossible to delete a rule. When I click the trash icon the rule disappears but I'm getting the following error on console and when I press the submit button the rule appears again. JqueryCore.js?v=183:2 Uncaught RangeError: Maximum call stack size exceeded at String.replace (<anonymous>) at nt (JqueryCore.js?v=183:2) at Function.nt.matches (JqueryCore.js?v=183:2) at Function.filter (JqueryCore.js?v=183:2) at init.v.fn.<computed> [as children] (JqueryCore.js?v=183:2) at Object.toggle (inputfields.js?v=31e:178) at Object.focus (inputfields.js?v=31e:400) at inputfields.js?v=31e:401 at completed (inputfields.js?v=31e:191) at Object.toggle (inputfields.js?v=31e:246)
  8. No need to change the module with the Google API keys. You can retrieve the title with oEmbed by using a url like this: http://www.youtube.com/oembed?url=http%3A//youtube.com/watch%3Fv%3DM3r2XDceM6A&format=json For more info check here.
  9. Hi @adrian the YouTube video title doesn't get saved in the description field. Vimeo is working properly. I'm using the latest version.
  10. Unfortunately no, just search what you're looking for on the Padloper forum.
  11. I guess I have to start again with a clean PW installation. The good thing is that only the "pages" table corrupted. I've exported the database so I can copy on the new installation some important text I had in some fields. The only way to prevent this from happening again is DAILY BACKUPS. Cronjob Database Backup module by @kixe seems a good choice when you're developing a site.
  12. I tried to browse the pages table in phpMyAdmin and I couldn't. It was saying that the table is still crashed so I repaired it again and now I can't even view my site. I'm getting this: Error: Exception: You do not have permission to execute this module - ProcessPageView (in C:\laragon\www\mysite\wire\core\Modules.php line 1330)
  13. I'm building a site locally on laragon and suddenly today when I visited my site at mysite.test I got error from ProcessWire: Error: Exception: SQLSTATE[HY000]: General error: 1194 Table 'pages' is marked as crashed and should be repaired (in C:\laragon\www\mysite\wire\core\WireDatabasePDOStatement.php line 166) I repaired the table "pages" on phpMyAdmin and now I can see my site but the problem is that all pages are GONE except Home. The admin section is empty too. WTF????????
  14. No, I don't have FormBuilder. I'm talking about the default ProcessWire forms on frontend. Below are the default markup & classes for the forms used by ProcessWire taken from wire/core/InputfieldWrapper.php. I can modify those with the "InputfieldWrapper::render" hook to change the form appearance but I don't know how to display form errors under inputs. $defaultMarkup = array( 'list' => "<ul {attrs}>{out}</ul>", 'item' => "<li {attrs}>{out}</li>", 'item_label' => "<label class='InputfieldHeader ui-widget-header{class}' for='{for}'>{out}</label>", 'item_label_hidden' => "<label class='InputfieldHeader InputfieldHeaderHidden ui-widget-header{class}'><span>{out}</span></label>", 'item_content' => "<div class='InputfieldContent ui-widget-content{class}'>{out}</div>", 'item_error' => "<p class='InputfieldError ui-state-error'><i class='fa fa-fw fa-flash'></i><span>{out}</span></p>", 'item_description' => "<p class='description'>{out}</p>", 'item_head' => "<h2>{out}</h2>", 'item_notes' => "<p class='notes'>{out}</p>", 'item_detail' => "<p class='detail'>{out}</p>", 'item_icon' => "<i class='fa fa-fw fa-{name}'></i> ", 'item_toggle' => "<i class='toggle-icon fa fa-fw fa-angle-down' data-to='fa-angle-down fa-angle-right'></i>", // ALSO: // InputfieldAnything => array( any of the properties above to override on a per-Inputifeld basis) ); $defaultClasses = array( 'form' => '', // additional clases for InputfieldForm (optional) 'list' => 'Inputfields', 'list_clearfix' => 'ui-helper-clearfix', 'item' => 'Inputfield {class} Inputfield_{name} ui-widget', 'item_label' => '', // additional classes for InputfieldHeader (optional) 'item_content' => '', // additional classes for InputfieldContent (optional) 'item_required' => 'InputfieldStateRequired', // class is for Inputfield 'item_error' => 'ui-state-error InputfieldStateError', // note: not the same as markup[item_error], class is for Inputfield 'item_collapsed' => 'InputfieldStateCollapsed', 'item_column_width' => 'InputfieldColumnWidth', 'item_column_width_first' => 'InputfieldColumnWidthFirst', 'item_show_if' => 'InputfieldStateShowIf', 'item_required_if' => 'InputfieldStateRequiredIf' // ALSO: // InputfieldAnything => array( any of the properties above to override on a per-Inputifeld basis) );
  15. By default on the form markup the errors are displayed under labels. Is it possible to display them under inputs without involving JavaScript?
  16. I'm using this hook to customize markup and classes on a form but it affects all forms in ProcessWire. How can I apply this to specific template only??? $wire->addHookBefore('InputfieldWrapper::render', function($event) { if($this->wire('page')->template != "checkout") return; // EDIT: Added solution $wrapper = $event->object; $defaultMarkup = array( 'list' => "<div {attrs}>{out}</div>", // etc... ); $defaultClasses = array( 'form' => 'uk-form', // etc... ); $wrapper->setMarkup($defaultMarkup); $wrapper->setClasses($defaultClasses); }); EDIT: Sorry, I forgot that I can use $this->wire('page').
  17. The reason you don't see the radio buttons is probably because you're hiding them in css or js. So check your code there carefully.
  18. Please share the code you see in the browser source for the form element.
  19. Check your css and js files in case you're hiding the radio buttons there. Can you please share the code you use to render the variations?
  20. The above hook tested on a site that has 2 languages. Maybe you have another hook that interfere. Empty your site/init.php and site/ready.php and try again.
  21. No need to use css. Check out my module for hiding pages for non-superusers.
  22. I tested this and it works: $this->pages->addHookBefore('saveReady', function($event) { $page = $event->arguments[0]; if($page->template != 'mytemplate') return; if($page->mypagefield) { $p = $page->mypagefield; $page->title = $p->title; } });
×
×
  • Create New...