Leaderboard
Popular Content
Showing content with the highest reputation on 05/13/2018 in all areas
-
4 points
-
I don't think so, but I don't care about that any more as the new version works differently and always returns a sorted resultset quickly and efficiently ? Absolutely! By default the finder query would be this: $finder = new RockFinder('template=person', ['title', 'surname']); $sql = $finder->getSQL(); d($sql, [6,999]); Doing the distinct: getting ids (verbose): Selecting only ids by group_by: And finally to get the pages: (btw: the portion of the sql dump is from an outdated version of rockfinder... but it still works) I see those kind of things have been requested several times now and I guess they will pop up quite often (doing aggregations, distincts, group_bys etc). It would be great to have a method for that in RockFinder, so if you have some time I would appreciate a PR making things like this possible: $finder = new RockFinder('template=person', ['title', 'surname']); $sql = $finder->getSQL(); $sql = "SELECT id FROM ($sql) as tmp group by concat(title,coalesce(surname,''))"; $ids = $finder->getArray($sql); $distinct_pages = $finder->getPages($ids); // or $sql = "SELECT id FROM ($sql) as tmp group by concat(title,coalesce(surname,''))"; $distinct_pages = $finder->getPages($sql, 'id'); ?3 points
-
Does this help? $this->addHookBefore('ProcessPageEdit::processInput', function($e) { if (wire('input')->post('submit_save')) { $e->message("This page has been saved by pressing the 'Save' button."); } });2 points
-
@teppo, This module is ready to use with the current stable and dev versions of PW (3.0.99+). I know that many users (and me too) actively uses it in many sites. It is also simple to use in conjunction with MarkupSourceSet. So, I think I will not add new features to it, but I will maintain the compatibility of it with future PW versions! Some time ago, it becomes compatible with new UIKit-AdminTheme. Here is a screen:2 points
-
EDIT: Demo version download here: Hello I've been looking for a way to give "editors" a little bit more freedom regarding the layout, without having to care about CSS, Fields, Templates etc. After playing with PageTable(-Extended) and Bootstrap, this is the (intermediate) result: http://theowp.bplaced.net/upload/prev.html It is just a proof of concept atm. Does anything like this already exist for PW?1 point
-
Hi Guys, Here's is our most recent website built in collaboration with the Design studio DITHO from Cologne, who designed and coordinated all the process. For now the website is only in German, but there will be a English version soon. https://bedrohte-ordnungen.de/ "Bedrohte Ordnungen" (Threatened Orders) is the display of an ongoing research by the University of Tübingen. Best described on their own words. Here on a hopefully accurate translation Here's a nice showcase video made by DITHO: This is a quite complex website. It's also quite heavy on images, videos and CSS animations, so old computers might struggle a bit to process it. All the website is dynamic and inside PW, including those animations. This is probably the most interesting part of how the website was built, since all the animations were created by DITHO themselves in ProcessWire thanks to a system that I created for them using a repeater field. You can have an idea through these screenshots: The content blocks of each case represent a question each and repeat throughout all the presented cases. Each question has a main content and most have also a hidden block that can be opened by clicking a button. They are created in PW using the very recent FieldGroups https://processwire.com/blog/posts/processwire-3.0.73-and-new-fieldset-types/: The only two third party modules used were AdminOnSteroids by @tpr and the very useful ColorPicker by @Soma. There would be more to talk about, but I don't want to extend myself too much. Hope you guys like it! Just a shout out to DITHO to say again how much fun this collaboration has been1 point
-
1 point
-
hi @stand-ground and welcome to the forum, Because these options are a site-wide config setting and site-wide config settings are placed in the config file, which is stored as /site/config.php - That's how pw is built.1 point
-
I'm missing a question: 4. If you are using Google Webfonts, do you use the preferred method by google (loading from Google servers) or hosting them locally? and probably: 5. When using local copies of Google Fonts, do you observe the font list for availability and if the local files are still up-to-date? (used monospaced Droid font in the past which is no longer available for free) Until last weeks I've used to use the recommended method and let Google serve client-optimized css declarations, but with upcoming GDPR I've changed my mind and reworked all my sites to host the required fonts locally. Of course I've started using the already mentioned webfont-helper but ended with an own PW module which takes the Google font string (like 'Didact+Gothic:regular|Syncopate:regular|Playfair+Display:italic'), downloads all required variants and creates the required CSS which makes transition rather smooth (if anyone volunteers to make a well documented PW module out of it, please send me a PM). That way I (or my customers) may continue manage required fonts from the Admin. And, to at least answer one of the original questions: Since my projects are rather simple with mostly a single CSS file (may be built from LESS) which is included within the <head>, so it was rather simple to use relative paths for now. For more complex sites I'd probably use absolute paths as well.1 point
-
Changing the Inputfield.php 1461 line with the following it displays the field label. How can I do it with a hook? $text .= $this->name ? " ($this->label)" : "";1 point
-
Noting here in case anyone has attempted to use any Selectize inputfield with the AdminThemeUikit, there are some known issues. (1) the latest versions of InputfieldSelectize should work, meaning you should see selectable options now. Prior to the latest version, the single select inputfield didn't work, and the uk-select class had to be removed from the field. (2) Selectize Multiple works, but is slow, and almost non-functional if you try and filter options. This is a major problem, and I have no idea how to fix it; there must be some javascript being triggered and going into a loading cycle when on Uikit, as opposed to Reno or Default; It is assumed that Selecize single would also suffer from this when filtering, but I haven't tested that yet. If anyone know how to test or determine what the cause of Uikit not working right with Selectize, it would be greatly appreciated!1 point
-
Seems to work!!! Thanks!!!!!1 point
-
@rareyush The module simply makes it easy to login in then use the PayWhirl API in ProcessWire. The documentation is at https://api.paywhirl.com/ Please paste your template code in here and I'll see if I can identify the cause.1 point
-
I ever use absolute urls, because then I can match them from within different located css files. Normally I store all fonts under /site/templates/styles/fonts/.1 point
-
In the beginning of the year, I relaunched the website of P. Jentschura and it took some time to publish the case study for it, but here it is (only in german atm, but you could use a translator tool). Wie wir P. Jentschura halfen, die Conversion Rate zu erhöhen, neue Interessenten zu gewinnen und eine Erfolgsmessbarkeit einführten. Translated title: How we helped P. Jentschura to increase the conversion rate, win new customers and measure success. I plan to publish the case study in english also, but it could take some time.1 point
-
If you're looking to do an elaborate a page builder with ProcessWire and don't want to pull your hair out, I highly recommended viewing this video: A couple notes: with the css grid specification, you can assign multiple blocks to the same grid-area but they will overlap each other. I've "overcome" this by combining multiple blocks into a parent div and assigning that instead. pretty easy to do. i didn't demonstrate it, if your blocks have a grid structure within them (like built with flexbox), you can still assign that block to a grid-area. so if your blocks themselves have a grid structure, that's ok. for example, if your css grid layout is 6 columns, but you have a block that has a grid inside of it (built with like uikit's grid that's 5 columns), you can assign that block to the grid-area. with the css grid specification, the flow of the blocks does not have to match the flow of the grid-areas. this is insanely powerful. Enjoy.1 point
-
$this->addHookBefore('Page::render', function($event) { $page = $event->object; // use whatever condition suits your needs if($page->id == 1234) $page->body = 'blaat'; });1 point
-
I could build this site in PW in 1-2days and it will be fully flexible content block type you can build those pages and have all configurable and sortable just powerful with sliders and colorpickers. Think outside of the 'page' and step back. Use them as blocks. You got jquery at your fingertips for the whole page tree, repeaters, page references. This may sounds as it would be silly but see pages as repeaters and there's nothing that can stop you. See one one page as a page you look on the screen and you'll be limited by what it can do. PW is build to work this way and performs and scales very well. There's plenty of module already and they`re easy to understand and build/maintain. I'm not a very good coder but PW makes me look like one.1 point
-
Interesting discussion. If "sandwich" type of website (without actually coding it by hand) is what you are building, then CMS like Concrete5 (http://www.concrete5.org/) or Apostrophe Now (http://www.apostrophenow.com/) is probably much better solution than ProcessWire. ProcessWire strengths are definitely in it's data modelling and as a building platform (framework). When it comes to sites where each page should be a little different to each other with totally custom content (no clear templates) - then PW helps you very little out of the box. Of course it would be my weapon of choice, if I would start building simple cms for that need1 point
-
Generally, putting code via fields is not a great idea. Without creating lots of different template files for lots of pages, you can get clever. So, for instance you can use a bit of php on the template file to include some extra script on a certain page only. <?php if($page->name = gallery){ echo "<script ........ >"; } ?> You can also use a text field or text area to list some names of scripts, eg: gallery fancybox tabs Each with just a space between them Then, grab the field in your template file and turn it into an array using the space between each word to split up the words: $myScriptArray = $page->myscriptfield; $myScripts = explode(" ", $myScriptArray); Now you can loop through them and do different things with them: foreach($myScripts as $myScript) { if($myScript == gallery) echo "<script gallery.....>"; if($myScript == tabs) echo "<script tabs.....>"; } And so on. WARNING! I am not a php expert (or even much of a beginner) so I may have made mistakes above, or someone might have a neater solution1 point