Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation on 05/10/2018 in all areas

  1. No. Do you have a lot of modules installed? I would encourage you to upgrade straight to 3.0.98 instead of 2.8.62. Do it on a dev-copy first, then test if everything still works, and update your modules if necessary. Some modules may still be labelled as not compatible with v3 - in that case you can try to add PW3 namespaces in the .module file. You'll maybe encounter some glitches in the update process. If that's the case, here are my usual main two remedies I'd try: delete the contents of site/assets/cache/ in the backend: refresh modules + also scroll down to setup > modules, bottom of the page and hit the "re-create static assets" button (or whatever the exact wording is)
    3 points
  2. Rebuilt my own site recently using all the knowledge, tips & tricks I've learnt from the PW docs, forums etc, including adding PWA features. Ran it through several publicly available audits and it passed OK - w3c validation, google page speed insights, google lighthouse, etc. Also engaged a digital marketing agency to audit it from a Google search POV. Still some tweaking to do on content & backlink fronts. Overall though happy with the result which could never have been achieved without the help and support of the ProcessWire community. Thank each and everyone of you. https://www.clipmagic.com.au
    2 points
  3. Maybe the docs can explain that? ? https://www.google.com/search?q=site:processwire.com/api/ref+session
    2 points
  4. There are also specific elements within the $page->render() $options array for prependFile and appendFile, see here. So you can do: foreach($page->children('template=child') as $child) { echo $child->render(['prependFile' => null, 'appendFile' => null]); }
    2 points
  5. You can send an $options array with the render method and use that in child.php So in your Hanna code echo $child->render(array("useMain" => false)); Then in child.php before your other markup <? if(isset($options['useMain'])) $useMain = $options['useMain']; // this will give you false when rendered from Hanna code ?> and somewhere in the top area of your your _main.php <? if(isset($useMain) && !$useMain) return; ?> This will take care of not rendering _main.php
    2 points
  6. <?php foreach ($page->children('template=child') as $child) { echo WireRenderFile('templates/child', ['page' => $child]); } ?> ?
    2 points
  7. Assuming your comments field is called comments then you get the count like that : $count = count($page->comments); or $count = $page->comments->count();
    2 points
  8. This is a lightweight alternative to other newsletter & newsletter-subscription modules. You can find the Module in the Modules directory and on Github It can subscribe, update, unsubscribe & delete a user in a list in Mailchimp with MailChimp API 3.0. It does not provide any forms or validation, so you can feel free to use your own. To protect your users, it does not save any user data in logs or sends them to an admin. This module fits your needs if you... ...use Mailchimp as your newsletter / email-automation tool ...want to let users subscribe to your newsletter on your website ...want to use your own form, validation and messages (with or without the wire forms) ...don't want any personal user data saved in any way in your ProcessWire environment (cf. EU data regulation terms) ...like to subscribe, update, unsubscribe or delete users to/from different lists ...like the Mailchimp UI for creating / sending / reviewing email campaigns *I have only tested it with PHP 7.x so far, so use on owners risk EDIT: Since 0.0.4, instructions and changelog can be found in the README only. You can find it here ? If you have questions or like to contribute, just post a reply or create an issue or pr on github, thanks!
    1 point
  9. New website for Nexoc GmbH in Munich, Germany. NEXOC. GmbH was founded in August 2003 and sells notebooks and PCs under the NEXOC brand name. The products are characterised by a particularly beautiful design and high quality and are available at an attractive price-performance ratio. We spell Individuality with a capital I! Each notebook and each PC from NEXOC. can be individually configured and designed in line with customer wishes and requirements - there is no challenge - there are only solutions, and these are what NEXOC. offers! Features: Multilingual Page-Builder done with PageTable Download Center: getting the informations from the database of an external application, caching the resultes with WireCache and show the results via Ajax frontend login for reseller Frontend: uikit3 OwlCarousel2 SpriteSpin jQuery Lazy grunt-sass grunt-contrib-uglify grunt-contrib-cssmin Backend: Jumplinks Upgrades Checker Simple Contact Form Schedule Pages Pages2Pdf Email Obfuscation Range Slider Image Extra Sitemap Tracy Debugger PageTable Extra Actions Some "behind the scenes":
    1 point
  10. Each year we cycle 1000km with our company to fight against cancer. To participate with 4 teams we have to collect 20.000 euros. Our graphic designers made some goodies en we also organise a spaghetti fundraiser. To help the sales we decided to make a webshop with our webteam. And of course we used our favourite CMS for the job! ? https://shop.typografics.be/ At this moment we raised more than 20.000 euros, so all our teams can participate. This is a very special project for us, unfortunately one of our colleagues has been diagnosed with cancer and currently is fighting against this terrible disease. Premium PW modules used in this project: PadLoper FormBuilder ProFields Variations With a few hooks here and there we managed to make it work. To handle the payments we made use of Mollie, we created our own payment module and will opensource this soon. You can read more about this project in our blog (in dutch) Unfortunately we're currently only shipping to Belgium We’re already brainstorming to make a 2.0 version of this webshop, so all your feedback is more than welcome.
    1 point
  11. Very pleasing to the eye ? nice work!
    1 point
  12. I know this doesn't solve the issue but I gave up on XAMPP (on windows), was too much hassle in the end, upgrading PHP versions etc... @bernhard pointed me in the direction of Laragon and I've never looked back since, it's a great solution and super easy to upgrade and set up your virtualhosts. I would really suggest giving it a try (maybe not now though as the site seems to be having problems).
    1 point
  13. You should be fine using the native $_SESSION, although PW also provides the $session api variable if you want to use it (store vars using $session->myVar = $myValue and retrieve with $session->myVar). I am suspicious that something else is causing your problem.
    1 point
  14. Here is the link to Github that tells you how to upgrade your ProcessWire installations: https://github.com/processwire/processwire I would follow that guidance, however it wouldn't hurt to try the update on a test/development installation first.
    1 point
  15. Eyup, good point. Which is why this can come in handy.
    1 point
  16. Ah I love it when a law isn't clear.
    1 point
  17. Ask a lawyer, please. This exact question can be answered in different ways. Even lawyers may answer this totally different.
    1 point
  18. This is now fixed and you can login to the Directory again.
    1 point
  19. ProcessWire is a lot more than just the API. Lots of hidden treasures inside the /wire folder - just have a look and see the comments in all those files. if($config->ajax == true) { // do ajax stuff }
    1 point
  20. Ah this is what I can use when running Ajax (last part). Thank you as well.
    1 point
  21. Great work bernhard! I'm really interested in giving this a spin. Also the Enterprise features like pivots, filters, grouping are really great. Would it be possible to integrate these features by a third party without touching the module?
    1 point
  22. Yes $field = 'pass'; // field to check $template = 'user'; // context template $myField = $fields->get($field); $contextTemplate = $templates->get($template)->fieldgroup; $myFieldInContext = $contextTemplate->getFieldContext($myField); $case = $myField->viewable()? '' : ' not'; // optional arguments: 1 = page, 2 = user $message = "Field $field is$case viewable."; if (!$contextTemplate->has($myField)) $message .= " Field $field is not part of template $template."; else { $case = $myFieldInContext->viewable()? '' : ' not'; // optional arguments: 1 = page, 2 = user $message .= " Field $field is$case viewable in context with template $template."; } var_dump($message);
    1 point
  23. 1 point
  24. @theo The new function is based on the official WireFileTools::zip() function and I didn't saw this check. Nice catch ? It has not do with the issue I remember. I just checked and its a silly mistake I made while updating the module. Thanks again @theo . It will be fixed in Duplicator-1.2.10 I never ran into into this issue but it look like it can happen. I have a site with 600MB stuff and his database size at 1GB+, I have no timeout building the package or downloading issue. To me, it look like a server settings. If you can, please send me the server details so I can try to reproduce it. PS: still didn't found the time to check what is going on GoogleDrive. @szabesz any feedback about Dropbox v2 ? ?
    1 point
  25. To append to that: Autoloaded fields are retrieved by getById() as you said, but non-autoloaded fields are retrieved on first access of the fields property from the page ($page->my_field) as a separate query. This is an important fact to consider when needing performance, as that default behaviour is quite prone to cause n+1 queries.
    1 point
  26. @horst this is awesome!! Thank you, I will totally merge it in. It looks really great and is super helpful. I didn't even know, that this is possible via the module settings ? I also had a look at the issue mentioned by @Mikel . To resubscribe users (and I think this is indispensable) I had to add a getStatus method and change how the subscription method works. Now if a user resubscribes, he will get the double-opt-in mail again. I made a PR for this too, maybe you can take a look. I will merge both PRs than to version 0.0.3 (and hopefully don't mess it up .... :D) later this week. https://github.com/danielstieber/SubscribeToMailchimp/pull/2
    1 point
  27. Hi @daniels, many thanks for that great module! As a little helper, I added a checkbox to the modules config page that can test the current settings. If you don't mind, I sent you a pull request.
    1 point
  28. I also did some research the last days about GDPR and want to share some notes on that. Most of the information is taken off official sources, but is without engagement. To add one thing to @szabesz note: Beginning with GDPR in May 18 the state will be that you are allowed to set cookies without any further approval from the user, if they (the cookies) are necessary so that you site or service works. Usually that are session cookies, or cookies that store the user's language. Every other cookie (to track or analyse user data) needs permission to be set (the so called "opt-in"). In this case you are not allowed to set the cookie without user permission. In general (and in most situations enough) you need some things in order to be compliant with GDPR: a up-to-date data protection policy on the website frontend a GDPR compliant data processing contract with all companies that handle personal user data according to your order (like the hosting provider, or e.g. Google Analytics, or whatever..) a documentation of technical and organisational measures a list of all data processing activities That does not take into account if you handle very sensitive personal data (e.g. race or relegion). So of course, not all is related to ProcessWire, but only implementing technical measures is not enough to get compliant. At the end the note, that a very important part is also to document all things related to data privacy (regulations). We - as the data processors - have to burden of proof.
    1 point
  29. I just relaunched my portfolio website. It's my first ajax driven website using ProcessWire as a CMS. Its a showcase of some of my work as well as a digital playground to improve my coding skills. If you encounter any bugs or have feedback, feel free to share janploch.de
    1 point
  30. I really like the cursor !
    1 point
  31. I am happy to present you the first processwire powered page i made for a client. Some more in the pipeline, but on hold because of missing content on the client side Big thanks to this helpful and great community!! https://feuerwehr-gimbsheim.de/ my own site webgestaltung.net is online for a while already, but not holding much content yet.
    1 point
  32. @skylundy, turns out ProcessWire has a built-in class loader. It uses spl_autoload_register() internally. Given a folder structure: /site/templates/ components/ Composer.php Writer.php app.php where Composer.php and Writer.php are classes under \ProcessWire namespace You can autoload them using // /site/templates/app.php $loader = new WireClassLoader($wire); // or use $classLoader since it's already an API variable. // autoload classes inside /site/templates/components/ $componentsPath = wire()->config->paths->templates . 'components/'; $loader->addNamespace('ProcessWire', $componentsPath); // then you can reference classes just fine. $b = new Composer(); $w = new Writer(); $w->write($b->compose('hello')); http://processwire.com/api/ref/class-loader/
    1 point
  33. Never mind this works $manager = new SelectableOptionManager(); $options = "0=Import\n1=Update"; $manager->setOptionsString($f, $options, true);
    1 point
  34. Sorting by subfields is now supported (see https://github.com/ryancramerdesign/ProcessWire/pull/862). It was my first contribution, so I'm pretty proud
    1 point
  35. I know this thread is old, but with the new Log viewer that Ryan just set up, I have started putting the following just before the body close tag (in main.inc or foot.inc or wherever needed so it is on all pages): if($user->isSuperuser()) echo '<iframe width="100%" height="200px" src="'.$config->urls->admin.'/setup/logs/view/debug/?modal=1"></iframe>'; Then whenever I need to log a variable or output of a function etc, I use the following in my template file: $log->save('debug', $problem_variable); If you need to output an array, json_encode is quite a nice solution: $log->save('debug', json_encode($array)); This will give you (as superuser) a panel showing the "debug" log output (which shows latest entries at the top) at the bottom of your site - very handy
    1 point
×
×
  • Create New...