All Activity
- Today
-
jploch started following Blocks library and CSS frameworks and PageGrid
-
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.
-
Do you have access to admin? To the file system? Double check that you uploaded the complete wire directory and new indxex.php file.
-
Yes I have PHP 8.4. I tried to install the PW version you advise, but my site and admin went totally blank, even with debug enabled in config.
-
Unfortunately, only my PageGridBlocks are available so far. But it would be nice if the community created and shared their own blocks as well. My PageGridBlocks module makes it easy to install and uninstall block templates. It could be a good starting point for others. Another good option would be Bernhard's RockMigrations module to create the block templates. I think it would be best if those blocks would be installable as modules. It would be cool, for example, if someone created blocks for a specific CSS framework. Since I don't work with frameworks myself, this isn't particularly useful for me. However, there seem to be many people in the PW community who work with frameworks. If someone were willing to create and share their own block library, I would be happy to grant that person free access to PAGEGRID.
-
You have PHP 8.4? Then use the latest (not yet dev): https://github.com/processwire/processwire/archive/dbbb239a74231d5371c77cd23cb6e48aba90b8ef.zip
-
module StripePaymentLinks – Simple Checkout Integration for ProcessWire
Mikel replied to Mikel's topic in Modules/Plugins
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 -
module PrivacyWire - Cookie Management & async external asset loading
prestoav replied to joshua's topic in Modules/Plugins
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! -
Thank you @matjazp. I refreshed the modules from the log. I think I updated all the module that needed to be updated (I guess). I also installed the Upgrades module to be sure. The logs doesn’t log anything when I try to upload an image. The error remains. My FieldtypeFile module is at v. 1.0.7 and FieldtypeImage at v. 1.0.2.
-
matjazp started following Image doesn’t upload
-
Check PW error logs. This is because of the error in php/module resulting in invalid JSON. Do a modules refresh and upgrade them to the latest version.
-
ausblick started following Blocks library
-
Hi Is there an exchange library for custom made page-grid blocks?
-
Nicole H started following Importing different arrays (pageArray/regular PHP array) together
-
@zoeck It seems so.... thanks for your answer.
-
Hello, I am facing an upload issue. I get this JS error when I drop images in image fields: XHR POSThttps://foo.com/admin/page/edit/?id=1102&InputfieldFileAjax=1[HTTP/2 403 41ms] Uncaught SyntaxError: JSON.parse: unexpected character at line 1 column 1 of the JSON data uploadFile https://foo.com/wire/modules/Inputfield/InputfieldImage/InputfieldImage.min.js?v=122-3.0.246:1 uploadFile https://foo.com/wire/modules/Inputfield/InputfieldImage/InputfieldImage.min.js?v=122-3.0.246:1 traverseFiles https://foo.com/wire/modules/Inputfield/InputfieldImage/InputfieldImage.min.js?v=122-3.0.246:1 setupDropzone https://foo.com/wire/modules/Inputfield/InputfieldImage/InputfieldImage.min.js?v=122-3.0.246:1 setupDropzone https://foo.com/wire/modules/Inputfield/InputfieldImage/InputfieldImage.min.js?v=122-3.0.246:1 initHTML5Item https://foo.com/wire/modules/Inputfield/InputfieldImage/InputfieldImage.min.js?v=122-3.0.246:1 initUploadHTML5 https://foo.com/wire/modules/Inputfield/InputfieldImage/InputfieldImage.min.js?v=122-3.0.246:1 jQuery 2 initUploadHTML5 https://foo.com/wire/modules/Inputfield/InputfieldImage/InputfieldImage.min.js?v=122-3.0.246:1 init https://foo.com/wire/modules/Inputfield/InputfieldImage/InputfieldImage.min.js?v=122-3.0.246:1 InputfieldImage https://foo.com/wire/modules/Inputfield/InputfieldImage/InputfieldImage.min.js?v=122-3.0.246:1 <anonymous> https://foo.com/wire/modules/Inputfield/InputfieldImage/InputfieldImage.min.js?v=122-3.0.246:1 jQuery 8 InputfieldImage.min.js:1:35804 I updated PW recently and also upgraded the PHP version. Maybe that can be related!
-
I assume that almost everyone who develops a new website in Processwire works with the Blank profile 🙂 The other existing profiles are more suitable for familiarizing yourself with the system 🙂
-
Many thanks @BrendonKoz for your thoughts and thanks for sharing. For me it is interesting that you also take the blank profile and start from there. I've already placed a PageGrid specific question in the PageGrid subforum.
-
Hi Which CSS frameworks works best with PageGrid and are used together? What are you experiences concerning page speed?
-
WireMail: how to send -f $from_address in PHP mail()
DrQuincy replied to DrQuincy's topic in General Support
Thanks for pointing that out! You're right, it looks odd — but it's right. - Yesterday
-
I found it hard to answer your question because I've always started with a blank profile. It gives the most freedom without any constraints, to build a custom site as needed for the project right from the start. No more, no less. I'm not sure which framework might work best with PageGrid, that would likely be a question for the PageGrid-specific forum. The last few sites I've built, I have taken advantage of Bootstrap with the assumption that if anyone were to need to maintain or edit after me, using something that is more ubiquitous would be useful. Beyond that reasoning, we can choose what we would like. Tailwind might be a better (or prettier?) option now, depending on certain factors. If it's a lightweight enough website in terms of elements/components to be used, vanilla CSS without a framework would be awesome.
-
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.
-
Paradise 😉 Indeed, it's really beautiful here. @virtualgadjo Thank you very much for your explanations. In fact, your approach is very exciting and quite different from what I would have expected. The fact that you don't use a pre-packaged CSS “framework” for your design and visuals seems very extensive to me at first, until you have put together your own preferences and classes. Personally, I find utility classes helpful (i.e., I'm at 30-50%), but I understand your point and position very well. Until now, I didn't assume blank profile but rather the site-regular based on UIkit. It would be interesting to know what others are doing and what they think and suggest.
-
WireMail: how to send -f $from_address in PHP mail()
cb2004 replied to DrQuincy's topic in General Support
Strange I know, but you will want to remove the space after -f for this to work -
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.
- 299 replies
-
- translation
- language
-
(and 1 more)
Tagged with:
-
WireMail: how to send -f $from_address in PHP mail()
DrQuincy replied to DrQuincy's topic in General Support
Ah, I've found the answer to my question already. See phpMailAdditionalParameters on here: https://processwire.com/api/ref/config/ I assume this will do it in config.php: $config->phpMailAdditionalParameters = '-f bounce@example.com'; -
DrQuincy started following WireMail: how to send -f $from_address in PHP mail()
-
I have never come across with before — especially odd as I use this hosting company for scores of ProcessWire sites but I am having issues with email sending. I am just using normal WireMail() and this works in about 95% of my sites so I don't need to set up a separate SMTP account. The hosting company is claiming in this instance is it because the PW module is not setting the -f $from_address in PHP mail()'s $additional_params paramater. (I am using LoginRegisterPro and the email in question is the confirmation one. I guess this is irrelevant since LRP will use whatever mail module PW is set to use.) Anyway, can I set the -f flag in mail() without hacking the PW core code? Thanks.
-
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?