Jump to content


  • Content Count

  • Joined

  • Last visited

Community Reputation

207 Excellent

About ottogal

  • Rank
    Sr. Member
  • Birthday 06/18/1949

Profile Information

  • Gender
  • Location

Recent Profile Visitors

3,277 profile views
  1. Hi all, working with the regular site profile: Doing a front end search, a results page would be opened, using the template "search". Instead, I'd like to let pop up a modal showing the results. What is the way to achieve this? Thanks for hints! ottogal
  2. Hi @kongondo , it's quite a while I'm planning to use your Blog Module. Now I started my first try, installing version 2.4.5 in PW 3.0.148. I chose Blog style 3 and installed the demo template files. When in the Blog dashboard I open the Authors page, I get the Error "Call to a member function size() on boolean" in ProcessBlog.module:1686. Line 1686 is this one: '<img src ="' . $author->blog_images->first->size(75, 75)->url .'" class="blog_author_image">' : What's going wrong? Thank you ottogal
  3. Hi August, as you see on the markers you have selected your previous picture. In that case the picture will be replaced by the newly inserted one. Just click behind the first picture to remove the selection. When you then insert the next one, it will be put next to the first one. Good luck!
  4. As I said - I don't know if PW selectors undergo short circuit evaluation or not. (And PHP is a programming language, isn't it?) I'm not familiar with the internals here; perhaps someone else can tell more.
  5. This could lead to different results when short-circuit evaluation is used. (But I don't know if this can occur with the Boolean expressions in PW selectors.)
  6. Hi Marco Ro, Just move it where you want to have it: <div class="Inputfield" id=""> <div class="InputfieldContent"> <input id="42" name="..." class="..." type="" maxlength="512" autocomplete="off"> <label class="InputfieldHeader" for="42">Email</label> </div> </div> Through the for attribute you assign the label to the wanted input element, refering to its id (here 42). That said, you should consider to avoid additional div elements and just use the semantic elements: <input id="42" name="..." class="Inputfield" type="" maxlength="512" autocomplete="off"> <label for="42">Email</label> This might be sufficient - of course that depends on your special use case...
  7. Hi shogun, in my opinion this is the essential key for the flexibility and freedom you have in ProcessWire, compared to other CMF/CMS. About scalability you should find a lot of positive threads here in the forums. In short: PW is the right choice!
  8. Sorry, I didn't count correctly. There are much less possibilities: 991677934870949689209571401541893801158183648651267795444376054838492222809091499987689476037000748982075094738965754305639874560000000000000000000000 🙃
  9. You have 99029007164861804075467152545817733490901658221144924830052805546998766658416222832141441073883538492653516385977292093222882134415149891584000000000000000000000000 possibilities to put the keys back... 🙄
  10. Marc Hinse aka @MadeMyDay really made my day: Many years ago when I (as an amateur, up to now) was just trying to get familiar with Joomla, he saved me through his (now legendary) rant against it, and soon he became "the" promoter of the (then promising) CMS Modx (Evo) in Germany. And just when I started to get uncomfortable with the "awsomeness" of MODX (Revo), he again saved me by his essay Why I chose ProcessWire over MODX wherein he hit the head of the nail with each of his arguments. And I liked his individual (graphic) design of his own website which was outstanding a bit from the "fashionable" way to do it. And it's the same now with the relaunch of his site: In a time when again most of the "modern" sites are looking quite similar to each other (as did most of the sites in former times), his design has a pinch of originality and stands out in it's freshness, comparing to the boring equality of so many other sites today. Kudos to Marc, and thank you! ottogal
  11. The <li> elements have to be children of an <ul> element (alternatively of an <ol> element). https://wiki.selfhtml.org/wiki/HTML/Textstrukturierung/ul (German) https://www.w3schools.com/tags/tag_li.asp
  12. To report back: The modules Page Protector and Protected Mode solve all my riddles. Thanks to @adrian for these fine tools!
  13. Indeed, that was my aim originally - I didn't want infect you with my confusion... In the meantime I decided to accept that user foo would have view (not edit) permission to all the public pages. Important is that no guest user has access to the special page XY. Many thanks for the help.
  14. Hi all, I'd like to give some feedback about the solution I ended up with. To bundle a few extra fields together with each image, instead of using a repeater I used the module ImagesExtra by @justb3a: https://github.com/justb3a/processwire-imageextra I created an ImageExtra field named imagex and added the following fields: startrow, startcol, widthcols, zindex They refer to a grid of rows and columns, each 2rem high and 2rem wide. startrow and startcol are the topmost row and the leftmost column covered by the image; widthcols is the width of the image, given as count of columns. zindex is the value of the usual z-index attribute to control which image is on top of the stack (in case of overlapping images). The picture below shows an image in the grid with the values startrow=2, startcol=4, widthcols=6 and zindex=1. The CSS grid is defined as follows: .wrapper { display: grid; grid-template-rows: repeat(60, [row] 2rem); grid-template-columns: repeat(40, [col] 2rem); grid-gap: 0; width: 80%; margin: 0 auto; padding: 0; } .wrapper div { width: 2rem; height: 2rem; } The CSS definitions for the images are embedded in the HTML code using a style element, allowing the use of php variables. (Note that the value of widthcols is used to calculate the width of the image in the unit rem, stored in the variable $wrem. The height is calculated automatically, keeping the aspect ratio.) The images together with the extra field values are stored in the field $imagex, and in the foreach loop for each of them the class definition is built: <section class="wrapper"> <?php if ($imagex) { $i = 0; foreach ($imagex as $pic){ $i++; $sr = $pic->startrow; $sc = $pic->startcol; $w = $pic->widthcols; $wrem = 2*$w . 'rem'; $zi = $pic->zindex; echo " <style> .no$i { grid-row: row $sr; grid-column: col $sc; } .no$i > img { width: $wrem; z-index: $zi; } </style> "; echo "\n<div class=no$i>\n"; echo "<img src=$pic->url alt='$pic->description' />"; echo "\n</div>\n"; } }; ?> </section> Works like a charm. Thanks again for all your hints and proposals!
  • Create New...