Jump to content

Recently Updated Topics

Showing topics posted in for the last 7 days.

This stream auto-updates

  1. Past hour
  2. @ryan nice to see an update to this. Less is 5.4.0, so the link on ProCache is broken: https://github.com/wikimedia/less.php/tree/v5.4.1
  3. Today
  4. Oeps, I just checked the version of UiKit I'm using, and its 3.23.11... Sorry, I wil try to update, and see if I can reproduce the error.
  5. Cross linking And also, this v useful module: https://github.com/BitPoet/SaveUserUnpublished
  6. Thanks @jploch for your further explanation.
  7. Thanks @cwsoft for your hints, I'll check them.
  8. PAGEGRID makes no assumptions about CSS or markup. This means that all CSS frameworks also work with PAGEGRID. I don't work with CSS frameworks myself, so I can't really recommend any (I prefer to use modern vanilla CSS like variables, grid, etc.). But I think it's totally fine to use them. I don't think it will have big impact on performance (depending on how large the CSS file for the framework is), just make sure to load your CSS fraemwork files inside the <head> tag so it's not blocking the rendering of your page. There are basically two approaches to working with PAGEGRID, but these can also be combined: No-code approach: You can create entire websites with PAGEGRID without writing any code yourself. To do this, you can use the “Ready-Made Blocks” and create CSS classes and styles with the Style Panel. This works similarly to Webflow or Figma and is particularly interesting for people who want to customize their website visually (which can be faster then doing it in code). Code only: If you prefer to work in code, you can disable the Style Panel in the PAGEGRID settings (Setup > PAGEGRID). You can then use any CSS framework with PAGEGRID. If you want to use your own CSS code or a framework, you can load it into your page template (take a look at the pagegrid-page.php template as an example). If you want to create your own blocks, you can copy the ready-made blocks from “site/modules/PageGridBlocks/blocks” to your “site/templates/blocks” folder and customize the markup there (e.g., add classes and markup for your CSS framework), or create your blocks from scratch. Learn more here: How do I create my own blocks? or here: how styles work in PAGEGRID. Here is an example of an accordion block using the UIkit framework as an example: <?php namespace ProcessWire; ?> <!-- UIkit accordion block using PAGEGRID's children option --> <ul uk-accordion pg-children="true" pg-children-label="Accordion Items" pg-children-tab="append" pg-autotitle="false" pg-wrapper> <?php foreach ($page->children() as $item) : ?> <li> <a class="uk-accordion-title" href><?= $item->title ?></a> <div class="uk-accordion-content"><?= $pagegrid->renderItem($item) ?></div> </li> <?php endforeach ?> </ul> In this example we use PAGEGRID's children option to render the accordion items (as child pages). Users can then add child items using the backend editor. You could also use repeaters to render the child items for PAGEGRID. The point here is that you can easily add whatever markup is neede for your CSS framework by creating your own custom blocks.
  9. Do you have access to admin? To the file system? Double check that you uploaded the complete wire directory and new indxex.php file.
  10. Hey folks! We’ve had a bunch of questions about how purchases show up in the backend, so here are the details: By default, every purchase gets its own repeater item on the user’s profile, and every product bought is pulled straight from the checkout session and listed as a line item. The PRODUCT_ID is the mapped page id, and in case the product does not have a product page it shows the Stripe product id prefixed with "0#": The full session always sits in the purchases.meta object. That means you can totally use the ProcessDataTables module to show whatever data you want in a nice table. For example, you could have an customer table with a column that totals up all purchases and pops up a full list of purchases in a table when you click on it: If you're looking to do just that, here’s the column template to make it happen: sales.column.php
  11. I also just stumbled upon the same issue – but with assets built inside of ddev. Adding the assets dir to `upload_dirs` didn't help...
  12. Triggering Custom JS function Hi folks, I'm using Privacywire on a number of sites and it;s working well, thank you! With Microsoft Clarity now moving to requiring a consent signal on cookie acceptance I had hoped to run a signal function for this with the 'Trigger a custom JS function' setting in Privacywire's config (right at the bottom). However, having declared a test function (to just console.log something) higher up in the page script files, and adding the function name into the Custom JS function field in Privacywire, I can't get the function to run when cookies are accepted. I have tried both the function name (e.g. 'myFunction') and with brackets (e.g. 'myFunction()') but neither seems to work. Anyone tried this and got it to work? Thanks for any help!
  13. Thanks for pointing that out! You're right, it looks odd — but it's right.
  14. Yesterday
  15. I finally had time to get back to this. I don't know what I did before, but it is working now. I started with a fresh dev and prod site so maybe there was something goofy in the other one I set up. I will keep playing with this and see if I can get it running on a real site.
  16. Perhaps the module can better communicate this in some way. I'll think about ways to possibly remind superadmins if translation is not fully ready. Google has more languages, DeepL has a few extra features. The extra features in DeepL have defaults that you only need to change if you really want to, so no additional configuration. I prefer the translations from DeepL, but Google is a good alternative to have because of their language selection. I've had some challenges with this myself. I usually create a dev key that is unrestricted for development since I know that it won't be used anywhere else and a separate API key for production where the IP address will be stable and the setup is more permanent. No problem at all.
  17. Not sure if it was body text, or quote, or code, so trying all three. Sync report == StripePaymentLinks: Sync (TEST RUN) == Mode: DRY RUN (no writes) Update existing: yes Create missing users: yes From: 2025-10-08 To: - 2025-10-08 13:53 cs_test_a12s... [LINKED] XXXXXXXXXXX => action: UPDATE purchase #1961 2025-10-08 13:02 cs_test_a1DI... [LINKED] XXXXXXXXXXX => action: UPDATE purchase #1964 2025-10-08 09:19 cs_test_a1U9... [LINKED] XXXXXXXXXXX => action: UPDATE purchase #1965 2025-10-08 09:10 cs_test_a1iB... [LINKED] XXXXXXXXXXX => action: UPDATE purchase #1966 Sync report == StripePaymentLinks: Sync (TEST RUN) == Mode: DRY RUN (no writes) Update existing: yes Create missing users: yes From: 2025-10-08 To: - 2025-10-08 13:53 cs_test_a12s... [LINKED] XXXXXXXXXXX => action: UPDATE purchase #1961 2025-10-08 13:02 cs_test_a1DI... [LINKED] XXXXXXXXXXX => action: UPDATE purchase #1964 2025-10-08 09:19 cs_test_a1U9... [LINKED] XXXXXXXXXXX => action: UPDATE purchase #1965 2025-10-08 09:10 cs_test_a1iB... [LINKED] XXXXXXXXXXX => action: UPDATE purchase #1966 I did not get blocked. I'm wondering if it's forum category/subforum specific?
  18. Hi @adrian, for your information, I have posted a comment on the issue already open: Repeater template with multilanguage fields does not take in account the noLang setting in the parent template. The link for the comment is: - https://github.com/processwire/processwire-issues/issues/2077#issuecomment-3385589884 If you have more information to add to the issue I would appreciated if you could add it. Thank you Kind regards
  19. Last week
  20. Tip: In Symfony Console, if you run code and an Exception or WireException occurs, ProcessWire will not be able to log it (and also send an adminEmail). There were cases where I was calling an undefined method on a page object and not knowing about it erroring. I used AI to work through this and ultimately it said I have to basically manage this myself because Symfony Console will catch things if I don't and never hit ProcessWire. Therefore, you may want to do something like this in your handle method: public function handle() { try { nonExistentFunction(); // purposely cause an error } catch (\Throwable $e) { // log the error $this->wire()->log->save('errors', $e->getMessage()); // consider adding additional code here to send an email notification using WireMail // ... // Re-throw so it still displays in console throw $e; } return self::SUCCESS; } I wonder if there's a more efficient way to do this? It took me too long to figure out what was happening in the first place so I haven't spent time optimizing the approach (if it's even possible).
  21. Thanks Mike - my memory is so bad I didn't remember you posting that even though it was a few posts further up. Maybe I need to get my eyes checked whilst I'm at it 😅
  22. Hello Jan, I did not find any infos about the possibility of creating multi-step forms inside the form builder docs, but maybe I have overlooked it too.😉 I will take your request as an idea about a new feature for the future and maybe I will integrate the possibility of creating a multi-step form out of the box in an easy way. I have some ideas but I guess this will take a lot of time, so it cannot be realized in the next days.
  23. @dab thank you so much for sharing! That actually solved my problem! Because $config->httpHosts = array('domain.com'); didn't work, but $config->httpHosts = array('domain.com', 'www.domain.com'); did!
  24. @matjazp First I downgraded to PHP 7.4, made no change. Then I replaced wire 3.0.246 with wire 3.0.123 from your link. PW 3.0.123 was the version I had a month ago when everything still worked. Then the site didn't show anything, not even errors. So I uploaded wire 3.0.246 and got the error back. Finally I uploaded the latest dev version from GitHub upgraded again to PHP 8.2 and, hurray the site is back – a bit crippled as now quite some errors appear in my templates. There are apparently many changes between PHP 7.4 and 8.2 that I need to figure out now.
  25. Thank you for the link. I am a bit concerned that it specifically mentions "Padloper 2", and I can see our version being "0.0.9". Does it still apply? George
  26. Thanks to both of you. I did not see the custom paths module. This may work indeed, I will test it, as this is fortunately not a multi-lingual site. And yes, the name property is an option, I could rewrite the navigation module. But knowing the client, I am sure he will want exception for this flat url approach.
  1. Load more activity
×
×
  • Create New...