Leaderboard
Popular Content
Showing content with the highest reputation on 06/16/2021 in all areas
-
I might be misunderstanding this, but I think you could be setting it in the wrong place. Could you change the array returned from getModuleInfo() based on the result of the condition? Like this; public static function getModuleInfo() { $module_info = [ 'title' => '', 'version' => 100, ... ... the other usual fields here ... 'permanent' => false, ]; $data = wire('modules')->getConfig('MyModuleName'); if (your_condition_based_on_settings($data)) { $module_info['permanent'] = true; } return $module_info; } Hope that helps.3 points
-
You can set the module as permanent, then it cannot be uninstalled. public static function getModuleInfo() { return array( 'title' => '', 'version' => 100, 'summary' => '', 'href' => '', 'author' => '', 'singular' => true, 'autoload' => true, 'permanent' => true // <-- PERMANENT ); } Or, if you need it conditionally set, you can check your condition and set the permanent state in the modules config function.(?) public static function getModuleInfo() { $conditionMatch = (bool) calculateSomeConditionHere(); return array( 'title' => '', 'version' => 100, 'summary' => '', 'href' => '', 'author' => '', 'singular' => true, 'autoload' => true, 'permanent' => $conditionMatch // <-- PERMANENT ); }3 points
-
Restaurant Blechnapf Neumünster - https://www.restaurant-blechnapf.de/ Fine culinary dining combined with a similar fine setup of design and webdev can be found at Blechnapf, Neumünster. One of our oldest partners in crime culinary highlights. Classic german dishes, experimental dishes based on classic dishes and even very own creations of all-time classics. Even though they are officially targetting your taste buds you can find a lot of more adventures there. They offer support for all kinds of experiences from readings, poetry slams, business meetings and even weddings (just in case you are around this wonderful place). Design details A classic modern setup of goodness (which got a very recent visual upgrade with way more and bold colors) - as someone described it already. Nothing super fancy, yet classic, modern, and with a very personal own style. Website, printed menue cards and even vcards come in the same style. Guess what was first. ;) Technical details PageHitCounter RepeaterMatrix (Pro) Import Pages from CSV Markup Sitemap XML PrivacyWire Simple Contact Form The team behind this: Muskaat for the technical part (yes, I'm part of Muskaat) https://www.muskaat.de/ Polimorf for the design part https://www.polimorf.de/ I hope you'll enjoy this site as much as I do!2 points
-
Damn, what a noob. That was it. How does one make a full project, publish it, test it, and never see a broken pages or a piece of red text anywhere saying Hey, where's your <body> tag? A mistery. Thank you sir, beer's on me ?2 points
-
Version 1.1.6 is out! ? Changelog: Adds Router->registerErrorHandlers() Hook, that should allow you to overwrite the general error- and warning handlers of the module. That should fix the problem that @David Lumm mentioned above without breaking things for other users. Allows Apikey & Auth-token to be set as GET-params. That can be useful when it comes to loading images via api. Fixes a bug that made it possible to authenticate with the PHP session (cookie) even though token-auth was enabled. Adds Router->setCorsHeaders() Hook Updated Composer & Firebase dependencies2 points
-
Retrieve, collect and store geolocation data from external geocoding services. Under the hood, the module uses the great PHP Library geocoder-php by William Durand and Tobias Nyholm and adds some processwire magic. Download/Install Github: https://github.com/neuerituale/FieldtypeGeocoder Module directory: https://processwire.com/modules/fieldtype-geocoder/ Composer: composer require nr/fieldtypegeocoder v.1.0.1 - Add support for GraphQL-Module by dadish v.1.0.2 - Support Repeater v.1.0.3 - Add support for bitwise status search. v.1.0.4 - Fix php 8.2 warning #3 - Update composer file - Update leaflet version - Add short access to coordinates v.1.0.5 - Fix TypeError from getMatchQuery v.1.06 - Fix mysql json query (#8) - Remove hardcoded field name - Update database schema and add a upgrade method for this (#5)1 point
-
Klippo Eutin - https://www.klippo-eutin.de/ "Is my child safe while walking around town?"... well at least in Eutin (Germany) children of all ages are safe now or at least they can find a spot in case they need help. Our client and partner Deutscher Kinderschutzbund Eutin e.V. (roughly translated to: German Child Protection Association Eutin) started a new initiative to help children finding a safespace while en route through town. No matter what - a missed transportation, low battery, in need of a toilet, or whatever. Certified partners of Klippo Eutin help children of all ages to overcome all kinds of situations challenging their day. Verified in person and visible through special markers at and within the locations and their showrooms so children know how to find help now. Klippo Eutin is our second iteration after Klippo Neumünster for this kind of project and builds a new foundation of even more cities to build this kind of service for children all around Germany and even other countries. Design details Childish, yet... practical with some kind of nerdiness with a lot of details here and there. From logo art to vector backgrounds all around. We love the details. As always. Oh... and yes... the screenshot might already be different to the details you see online as this is one of our rolling-release-development projects - whenever there is an update necessary it will be developed and released. For the good cause. Yet... there is more planned and coming in the future. Technical details Google Map Marker PageHitCounter PrivacyWire Changelog Verified URL (Pro) ProCache (Pro) (Eigenwerbung [Advertising upcoming]: you know cities that might be interested, let us know... we already have a solution ready to start in your area, almost worldwide, and even better: we can provide contacts for Germany to get this kind of project started!) The team behind this: Muskaat for the technical part (yes, I'm part of Muskaat) https://www.muskaat.de/ Polimorf for the design part https://www.polimorf.de/ I hope you'll enjoy this site as much as we do!1 point
-
One way is to tell them to have the Hannacodes side by side, just like the buttons would be [[special_button url='example1.com' label='Visit Example1.com']][[special_button url='example2.com' label='Visit Example2.com']] But this depends on the html code that you are generating for that Hanna code. For that to work, you would need the root html tag of each of those buttons to be displayed as "inline-block" on your CSS. Another option is to use a single Hanna Code for both buttons, and style them to be side by side. This would give you more control over the styling, since you can have a parent tag around the two buttons. [[special_button url='example1.com' label='Visit Example1.com' url2='example2.com' label2='Visit Example2.com']] This could be the same Hanna code for single and double buttons. If the url2 is not given, show a single button, if it is given, create the second button. A shorter alternative might be: [[special_button url='example1.com|example2.com' label='Visit Example1.com|Visit Example2.com']] For this you would have to explode() the value of "url" and "label" by the "|" separator, and create one button for each value in the resulting array.1 point
-
"data-phc" attribute is missing on body tag. Are you sure you have body at all?1 point
-
Hello netcarver Thanks very much for your reply. Sorry, we have just found it in the scripts folder here and changed it to HTTPS $("#jquery_jplayer_1").jPlayer({ ready: function () { $(this).jPlayer("setMedia", { mp3: "https://www.reallawsolicitors.com/site/templates/mp3/january2013.mp3" })/*.jPlayer("play");*/ }/*, It all seems to work now. Thanks for taking the time to reply and offer of help. David1 point
-
1 point
-
Thanks @horst Interesting thought, but the condition depends on a setting in a configuration field of the module, so I guess this will not work, but I will try it!1 point
-
Have a look at the API docs for the $datetime variable (https://processwire.com/api/ref/wire-date-time/). Just insert the date form PW page as argument and convert it to the format you like.1 point
-
Now solved. For the benefit of others, you need to set the sort property of the repeater rather than use a custom property. i.e. for each repeater page: $subPage->sort = $j; // where $j is the required sort index $subPage->save(); then after all 'subPages' have been set: $page->$repeaterName->sort('sort'); and save the page.1 point
-
I’ve taken your word for it and purchased ProFields for this project. To also show my support for the future of ProcessWire. ?1 point
-
1 point
-
If you can build enough discipline in the way you write conditionals, you can avoid this by always putting the constant part first: if ('xx' == $page->template->name) { So if you accidentally miss an equals sign and do an assignment, you get an error from the runtime as you are trying to assign to a constant string literal. I've tried to build this habit over the years and sometimes remember to do this - but I'm not there yet.1 point
-
Thank you for help. The "getInfo" method is useful. I found out where the issue was and "tomorrow" is a the easiest way to go here.1 point