Jump to content


Popular Content

Showing content with the highest reputation on 11/05/2019 in all areas

  1. 4 points
    Hi all - I just wanted to start a discussion about using push with http/2. @teppo's recent post here (https://processwire.com/talk/topic/5630-module-aiom-all-in-one-minify-for-css-less-js-and-html/?do=findComment&comment=193086) got me to finally move all my servers to use http/2 which is great, but it seems like there is much more to it than that. There are a few articles of interest: https://www.smashingmagazine.com/2017/04/guide-http2-server-push/ https://www.keycdn.com/blog/http-preload-vs-http2-push https://jakearchibald.com/2017/h2-push-tougher-than-i-thought/ but I'd love to hear what everyone is actually doing on their sites and also wondering if the PW core should try to push certain assets. There seem to be issues with browsers not caching assets when push is used and I am wondering whether in general you should push everything needed for a page, or ? Thanks all! PS - if you're wanting to upgrade your Debian or Ubuntu servers, this is a good guide: https://blog.samuel.domains/blog/tutorials/how-to-enable-http2-on-apache-debian-9 - I am running Debian 10 and PHP 7.3 so just replace the references to 7.0 to 7.3 and you'll be good.
  2. 3 points
    Welcome to the forums! There is no such thing unfortunately, but the tutorials section of the doc pages is a good start: https://processwire.com/docs/tutorials/ Also worth noting: https://www.youtube.com/watch?v=K6eQGGk9xOA&list=PLjfImzZuFeJ-iZ0K7WVDwSeTrQQHmt7a8 https://mauricius.dev/basic-processwire-website-workflow-part-one/ (Step-by-step guide, 4 part tutorial) https://processwire.com/talk/topic/3579-tutorial-approaches-to-categorising-site-content/ Hope this helps. Edit: +1 🙂 https://www.youtube.com/watch?v=kSLhay7msTI&list=PLOrdUWNK38ibz8U_5Vq4zSPZfvFKzUuiT
  3. 3 points
    @Guy Incognito did you do everything renobird wrote in his post on page #4 of this thread? In particular "... In order for title to show as a connection option during your import, you need to add the title field to the user template file. ..." http://processwire.com/talk/topic/383-module-import-pages-from-csv-file/?p=10160 For me the import works, I just edited ~200 users.
  4. 3 points
    https://www.sonrisestable.com/ This is one of my personal sites, but I've been using PW for client sites for a couple years now - a recovering Joomla user. 🙂 That site uses UIKit CSS framework. I like ProjectSeven's menus for their ease of use. Ecwid is the ecommerce on the site. I'd appreciate any feedback/suggestions. I'm going to add the blog/article categories as a submenu under articles, when I get a chance.
  5. 2 points
  6. 2 points
    Just released Wireframe 0.7.0. This version is all about caching: when requesting Controller methods from view (<?= $this->some_controller_method ?> etc.) the return value is now cached (runtime cache). Additionally if method names are added to protected $cacheable_methods property of the controller class, along with an applicable expire time (i.e. "protected $cacheable_methods = [ 'method_name' => 3600 ]"), Wireframe automatically caches the value using WireCache (persistent cache). Caching is usually a good thing, but not always preferred, which is why runtime caching can be prevented by adding the method name to (protected) Controller property $uncacheable_methods (protected $uncacheable_methods = [ 'method_name' ]). Persistent caching is always opt-in. Changelog: ### Added - Runtime caching support for Controller method return values. Values are cached *unless* the name of the method is found from Controller::$uncacheable_methods. - Persistent caching support for Controller method return values. Values are cached only when found from the Controller::$cacheable_methods array. ### Changed - In the View class all internal requests for Controller properties are routed through View::getFromController().
  7. 1 point
    It's not a bug as Ryan just explained in the issue:
  8. 1 point
    @Pixrael What's the experience around Laravel, I've seen people love it, but it rubbed me off the wrong way, most of it feels too opinionated , I find myself looking towards Symfony because of my Spring Boot experience
  9. 1 point
    Udemy and YouTube for learning is only that - learning. Following someone who is better understanding of the topic of Networking. These suggestions are NOT for Certifications, for that you must go to https://www.comptia.org/certifications CompTia is the organization that will provide you the certifications. Everthing else you come across is for furthering your knowledge of switches, the OSI model, subnetting, IPv6, etc. You have TONS of learning to do, here are lots of other topics related to Networking https://www.reddit.com/r/ccna/ https://www.reddit.com/r/networking/ I am currently in school to get my Cisco Certifications, starting with A+ and Net+, going as high as I can. Hopefully ending with Cyber Security and CEH (Certified Ethical Hacker). But the road is NOT EASY. GOOD LUCK
  10. 1 point
    It depends completely on the payment provider you choose, there are several modules available, but they all require some hands-on programming. http://modules.processwire.com/search/?q=payment Also often payment providers require a callback-endpoint at your site to process the result of a payment action. If all goes well, it will call this endpoint while the user is waiting for a bit during the payment process. After your system processes and acknowledges the payment (for instance it changes the status of the user to 'registered'), the payment provide will then forward the user back to your site. But.. it can also be the case that this callback happens minutes, hours or even days later in case of a hiccup with the banking system for instance. And, in case of a credit-card payment, it can in fact even change the state of a payment a month later — should the user formally dispute the charge. So, the flow of registration -> payment -> access is not as 1-2-3 as it may seem. You will need to consider all the possible outcomes of your registration process. You will be able to read more about the exact information your payment provider sends and expects in return in their documentation, as this varies wildly. Another thing to consider is that you cannot depend on any $session variable during the callback function, as the payment provider has its own session. So you will probably have to pass the user-id to the payment provider while setting up the payment, which it in return should include during its callback to your server and which you can then use to look up the user. One other thing though, just in case you hadn't thought about this: you should never email users their passwords. With the exception of a single-use, time-constrained temporary password. For that purpose you can use the PasswordForceChange module.
  11. 1 point
    Thanks for the kind words! Snipcart has a lot of different discount features! Here is a cut out from my process module which should show what's possible: $this->discountsTypes = array( 'FixedAmount' => $this->_('Fixed amount deducted from order total'), 'Rate' => $this->_('Percentage rebate on order total'), 'AlternatePrice' => $this->_('Discount price provided by alternate price list'), 'Shipping' => $this->_('Discount on shipping'), 'FixedAmountOnItems' => $this->_('Fixed amount deducted on specified products'), 'RateOnItems' => $this->_('Rate deducted on specified products'), 'FixedAmountOnCategory' => $this->_('Fixed amount deducted on items of specified categories'), 'RateOnCategory' => $this->_('Rate deducted on products of specified categories'), 'GetFreeItems' => $this->_('Free products when customer buys specified quantity of product'), 'AmountOnSubscription' => $this->_('Fixed amount on subscription'), 'RateOnSubscription' => $this->_('Rate on subscription'), ); $this->discountsTriggers = array( 'Code' => $this->_('Enter discount code'), 'Product' => $this->_('Specific product added'), 'Total' => $this->_('Order reaches specific amount'), 'QuantityOfAProduct' => $this->_('Product added a number of times'), 'CartContainsOnlySpecifiedProducts' => $this->_('Cart only contains specified products'), 'CartContainsSomeSpecifiedProducts' => $this->_('Cart contains some of specified products'), 'CartContainsAtLeastAllSpecifiedProducts' => $this->_('Cart contains at least all specified products'), ); Yes, invoices can be downloaded in PDF format and the layout is customizable via the Snipcart dashboard!
  12. 1 point
    Hello @alex159753 Good to see you back again - I initially thought you were a spammer as your first post was a close fit to a very common pattern we see here as moderators. I am glad I was wrong! Regarding my points earlier, I wasn't aware your company was a startup and you have a fair point about certification. I don't know of any places doing online certified CCNA training, but you could look at itpro.tv as they might. However, that's not a free service, so if you do think of signing up with them do grab a sign-up code from somewhere like the Security Now podcast as that will give you a significant lifetime discount. Hope things work out for you in the startup. Best wishes, Steve
  13. 1 point
    use a hook? https://processwire.com/api/ref/fieldtype/create-field/ or wait for impeachment? 😐
  14. 1 point
    @teppo I didn't do anything from this side, so not sure why Packagist decided to update then. I'm guessing they just do it automatically at certain intervals, kind of like the modules directory. Good idea—I'll login to it and see if I can get it to update manually. Thanks.
  15. 1 point
    There is kind of built in support for this; - Edit the admin template and add a text field with the name "page_icon" - Go to the admin page tree, search for your lister pages to edit: – Add the fontawesome icon name without the fa- part… Voila: Thanks to @ryan for pointing me to this solution in a support request… 🙏
  16. 1 point
    Hey @ryan! I'm not sure if you did something special last week to get the Packagist dev-dev branch updated, but either way it is now serving 3.0.143. The problem is that this is the version right before the "Operator '&' is not supported" issue was fixed. I was hoping that releasing 3.0.144 would again update Packagist, but it didn't, which means that installing ProcessWire dev branch using Composer via Packagist currently results in a bugged version. If you did do something special last week in this regard, it'd be awesome if you could do it again – and if not, a manual "update" at https://packagist.org/packages/processwire/processwire might be in order, or at least that could force Packagist to fetch the latest version 🙂
  17. 1 point
    Probably a question best answered by Ryan in the pro support board, but this worked for me... // Name of repeater matrix field $matrix_field_name = 'test_matrix'; // Name of matrix type you want to add field to $matrix_type_name = 'type_1'; // Name of field you want to add to matrix type $add_field_name = 'images'; // Get field objects $matrix_field = $fields->get($matrix_field_name); $add_field = $fields->get($add_field_name); // Add field to repeater matrix fieldgroup $matrix_template = $templates->get("repeater_$matrix_field_name"); $matrix_fieldgroup = $matrix_template->fieldgroup; $matrix_fieldgroup->add($add_field); $matrix_fieldgroup->save(); // Associate field with matrix type $matrix_types = $matrix_field->type->getMatrixTypes($matrix_field); $matrix_type_integer = $matrix_types[$matrix_type_name]; $property = "matrix{$matrix_type_integer}_fields"; $field_ids_in_type = $matrix_field->$property; $field_ids_in_type[] = $add_field->id; $matrix_field->$property = $field_ids_in_type; $matrix_field->save();
  • Create New...