-
Posts
6,638 -
Joined
-
Last visited
-
Days Won
360
Everything posted by bernhard
-
Cool, thx! I've just pushed your suggested fix and it will be available soon as v1.3.2 π
-
This is not a specific request and might be no issue, just sharing what I observed and asking if that's maybe something that can easily be improved? Today I got a dump like this for my ajax request: This is the url hook used: wire()->addHook('/test/', function () { bd('test!'); return true; }); And this is how I fired the request in the devtools: fetch('/test'); note that I'm using "/test" as url (without a trailing slash). If I use the correct url the dump works as expected. Now obviously this is not a bug on tracys side, but I'm wondering if tracy can do anything about that? This is how the request looks in the debug bar: As you can see there are two requests, which makes sense, but if there are two requests shouldn't the second one have the correct dump? Or could it somehow show a warning that a wrong endpoint has been used to make it more obvious not to forget about trailing slash yes/no?
-
PS: The "Flipper" feature has been possible before quite easily as well, but it got a lot nicer today!! --- code necessary for flipper buttons before today --- // year buttons RockGrid.on("button:year", (button) => { // set headerfilter of day column to // current date in format yyyy // reset all other columns filters table.clearHeaderFilter(); table.setHeaderFilterValue("day", luxon.DateTime.local().toFormat("yyyy")); }); RockGrid.on("button:prevyear", (button) => { // get current header filter of day column const filter = table.getHeaderFilterValue("day"); const year = filter ? luxon.DateTime.fromFormat(filter, "yyyy") : luxon.DateTime.local(); // set header filter to previous year table.clearHeaderFilter(); table.setHeaderFilterValue( "day", year.minus({ years: 1 }).toFormat("yyyy") ); }); RockGrid.on("button:nextyear", (button) => { // get current header filter of day column const filter = table.getHeaderFilterValue("day"); const year = filter ? luxon.DateTime.fromFormat(filter, "yyyy") : luxon.DateTime.local(); // set header filter to next year table.clearHeaderFilter(); table.setHeaderFilterValue("day", year.plus({ years: 1 }).toFormat("yyyy")); }); --- code as of today --- <span rg-flipper="field:date;range:year;">Y</span> <span rg-flipper="field:date;range:month;">M</span> <span rg-flipper="field:date;range:day;">D</span> So cool ππ
-
RockGrid has seen a lot of great improvements over the last few days π The whole codebase has been cleaned up and all javascript files have been split into several files to make maintenance easier. All of that was easily possible thanks to RockDevTools. RockGrid now supports so called "magic attributes" that can pull data from the grid and create UI elements completely automatic. TagsFilter The new tags filter pulls data from one column of your grid and lists all available options as clickable filter tags: All you have to do: <div rg-tagsfilter="field:your_field_name;"></div> --- Flipper I realised that when building grids for my custom bookkeeping software I built the same stuff over and over again, for example buttons to quickly flip over time periods (like the current year, previous year, this month, previous month, etc...). Now that's also built into RockGrid and can be used with a single dom attribute! π All you have to do: <div rg-flipper="field:date_column;range:year;">Y</div> <div rg-flipper="field:date_column;range:month;">M</div> <div rg-flipper="field:date_column;range:day;">D</div> Go and check out RockGrid v1.6.0 ππ
-
Here we go!!! https://github.com/processwire/processwire/pull/322 Fingers crossed π€ππ
-
Cache Status for ProCache not migrated correctly
bernhard replied to gebeer's topic in RockMigrations
Hey @gebeer unfortunately these migration properties do not work 100%. They work most of the time but not always. The code field and shift-click feature are supposed to be helpers, but you always have to confirm that it works. Some props can be used as they are, some props need transformers in RM and already have them and some might be missing. If you find any we might add an exception to the getCode() method or maybe somewhere else, I'm not 100% sure atm: https://github.com/baumrock/RockMigrations/blob/883b9e8f3bed37728fa1666514ae22042344681f/RockMigrations.module.php#L1852- 1 reply
-
- 1
-
-
Sounds terrible! Surprisingly they have quite good ratings here https://www.wpbeginner.com/hosting/wpengine/ and here https://www.trustpilot.com/review/wpengine.com
-
ProcessWire Commerce: Help Needed
bernhard replied to kongondo's topic in ProcessWire Commerce (Padloper) Support
@marie.mdna @kongondo I have just indexed PWCommerce as Deepwiki: https://deepwiki.com/kongondo/ProcessWireCommerce Maybe it helps. Maybe it's crap. I don't know π -
Regarding using nginx I want to mention that if any module you are using relies on .htaccess (which many of my modules do) you'll have to make sure that these rules also apply to your system. For example in my RockInvoice module I protect all generated invoices in their related folder (eg /site/assets/files/123) with an .htaccess file like this: <FilesMatch ".*"> <IfModule mod_authz_core.c> Require all denied </IfModule> <IfModule !mod_authz_core.c> Order deny,allow Deny from all </IfModule> </FilesMatch> Which means, as far as I understand, that on nginx systems the invoices would be publicly available if someone knew the path, right?
-
This is really neat and I'm not sure why I didn't have that idea earlier! The filesOnDemand feature now supports callbacks!! ππ From the docs: Callback Feature Sometimes you want to prevent the filesOnDemand feature to kick in. For example in the RockInvoice module I have a pdf field that stores invoices, but these invoices are protected from direct download by htaccess. When I develop locally this leads to time consuming page requests and HTTP error messages that the requested file could not be downloaded. Callbacks to the rescue! $config->filesOnDemand = function (Pagefile $file) { if ($file->field->name === RockInvoice::field_pdfs) return false; return 'https://my-live-site.com/'; };
-
Module or field to display articles in categories
bernhard replied to kaz's topic in Getting Started
Your question is very vague. Are you talking about a blog with some kind of tagging feature? Is the challenge the backend implementation or the frontend? Or both? What "did not work" with your approach of using ListerPro / radio select. The more context you give us the better we can help. For tagging the TextTags module can be a great choice. It's imho a bit cumbersome to setup but once you got it setup its great for such use cases: https://processwire.com/blog/posts/pw-3.0.177/ -
no site configuration or install.php available
bernhard replied to DevCat's topic in General Support
In my case when updating an ancient site today the issue was that I had this line in my config.php: include('../files/config.php'); This file did exist on my remote server but not on my local DDEV setup. Changing this to my "new" setup from 2018/2022 fixed the issue π -
AlpineJS is only used for the frontend of the store to show instant price updates when variations are changed: Payment is, of course, handled via PHP/Backend as everything client side can be manipulated easily by the client and thus would not be secure. I'll send you a PM See here for example: https://www.maletschek.at/nautics/motore/elektromotore/temo-der-tragbare-elektroantrieb/#7055:7059,7060-7071:7070-amount:2 As you can see it will even remember product variations via url hash π
-
@LMD good news π I think this issue should be fixed with v1.3.0 of RockCommerce. You also need to upgrade RockGrid to v1.3.0! The reason for the issue was that mysql does not support indexes on json columns and I'm using JSON for the "data" column of FieldtypeRockGrid So the issue was actually an issue in the RockGrid module, not RockCommerce itself.
-
@adrian sorry for causing work π Seems like the "find user" filter input does not filter mail addresses even though I set the config of the panel to "{name} ({email})". Maybe you can address this at some point as well? Thx a lot!
-
Sure, that's also great, thank you π Already tried it and it helps a lot, thx! π
-
Hey @adrian I'm developing a project where users are identified by their mail addresses and their usernames are random strings: Would it be possible to set a custom user property to display in the user switcher panel? A simple textfield would be enough for my use case where I can enter "email" and it would display the email instead of the username. Or maybe show the mail address by default in brackets?
-
Hey @gebeer I have added support for this on the dev branch, please check π Here are the docs: https://github.com/baumrock/RockDevTools/tree/dev/docs/livereload#disabling-livereload-for-specific-pages