Jump to content

jacmaes

Members
  • Content Count

    232
  • Joined

  • Last visited

  • Days Won

    2

jacmaes last won the day on June 28 2017

jacmaes had the most liked content!

Community Reputation

227 Excellent

About jacmaes

  • Rank
    Distinguished Member
  • Birthday 10/05/1973

Profile Information

  • Gender
    Male
  • Location
    Seville, Spain

Recent Profile Visitors

8,269 profile views
  1. I recommended Sarah Edo's grid generator. This is what I used for my quick demo: https://cssgrid-generator.netlify.com/
  2. Here's a demo that loosely reproduces your screenshot: https://codepen.io/jacmaes/pen/qBWJrRY
  3. Not sure what you mean with "freely positioned". In any case, you might not be very familiar with CSS grid, but they can be freely positioned on the grid: They don't have to be next to each other, there can be gaps as in your screenshots. My example is slighly misleading as they are grouped together, similar to a masonry layout.
  4. As @entschleunigung said, CSS grid looks like a good solution. This codepen can get you started.
  5. Have you tried following these instructions to add WebP support to MAMP?
  6. @horst, as mentioned here, it looks like your module is not compatible with the new WebP support added in 3.0.132. Or am I doing it wrong?
  7. @adrian That's what I first thought too, but no, it's not generated in the corresponding "files" folder. Digging a bit further, it looks like it does not work with @horst's CroppableImage 3 Module, at least in the way I expected it should. So: $page->image->first->getCrop('landscape')->webp->url; does NOT work. But: $page->image->first->webp->url; does generate a Webp variant correctly.
  8. I have WebP support enabled in GD (PHP 7.3), but $image_field->webp->url still returns a JPEG file. Anything I'm missing? Is there something to add in the config.php file?
  9. @Peter Falkenberg Brown I had the same question. Ryan told me that the single version is in fact part of ProDevTools package. I ended up buying the dev version.
  10. Thanks for sharing. It's nice to see you're using the newer API additions such as $page->if() and setting(). I get excited when I learn about these from the blog posts, but then I forget to use them in my new projects…
  11. Here's @Robin S code adapted to produce the following thumbnail navigation (semi-transparent thumb #98 is the current one): <?php // Number of thumbs to show $limit = 9; // Get the number of visible siblings $num_siblings = $page->parent->numChildren(true); // The default start value is zero $start = 0; // If the number of siblings is greater than the limit then we need to adjust the start value if($num_siblings > $limit) { // Get the halfway point of the limit $half_limit = floor($limit / 2); // Get the index of the current page relative to its siblings $index = $page->index(); // Adjust the start value to keep the current page within the sibling links if($index > $half_limit) $start = $index - $half_limit; if($num_siblings - $start < $limit) $start = $num_siblings - $limit; } $items = $page->siblings("start=$start, limit=$limit"); // Next page and previous page relative to current page $next_page = $page->next(); $prev_page = $page->prev(); // Next and previous SVG icons $left_arrow = "<svg role='img' aria-labelledby='previous-icon' class='icon icon--inline' height='24' width='24'><title id='previous-icon'>Next photo: {$page->prev->title}</title><use xlink:href='#icon--left-arrow'></use></svg>"; $right_arrow = "<svg role='img' aria-labelledby='next-icon' class='icon icon--inline' height='24' width='24'><title id='next-icon'>Previous photo: {$page->next->title}</title><use xlink:href='#icon--right-arrow'></use></svg>"; ?> <?php if($items->count > 1): echo "<div class='thumb_gallery'>"; if ($prev_page->id) echo "<a class='thumbnail' href='$prev_page->url'>$left_arrow</a>"; foreach($items as $item): $number = $item->index() + 1; $current = null; if ($item == $page) $current = " aria-current='page'"; echo "<a$current class='thumbnail' href='$item->url'>"; echo "<img class='responsive-images thumbnail__image' src='{$item->photo->size(150,150)->url}' width='75' height='75' alt=''>"; echo "<span class='thumbnail__label'>$number</span>"; echo "</a>"; endforeach; if($next_page->id) echo "<a class='thumbnail' href='$next_page->url'>$right_arrow</a>"; echo "</div>"; endif; ?> I hope this can help someone else. Thanks again @Robin S !!
  12. Great, thanks @Robin S! Your example looks like what I'm looking for. I'll give it a try early next week and report back with my adapted solution, if I manage to make it work.
  13. @LostKobrakai that helped, thanks. @elabx 's suggestion still retrieves unexpected results: Photo #1: nothing shown, as expected. Photos #2 to #6: work. Photo #7: shows only 4 previous images instead the of the expected 6. Photo #8: shows only 3. Photo #9: shows only 2. Photo #10: shows only 1. Photo #11: works. Photos #12 and above: only shows first 10…
  14. Thanks @elabx for pointing me to prevAll(), which I had not encountered yet. Unfortunately, the order is not respected and the results seem also random (sometimes it retrieves fewer results than expected).
  15. On a photographer's site, I have multiple albums. Each album is made up of a series of pages (1 image per page). So navigating the album is matter of going from one child page to the next. Now let's say I'm viewing image number 15 in a very large album containing more than 100 images. Showing the full list of images in this album as a thumbnail gallery and highlighting the current image/page is easy enough: <?php foreach ($page->siblings as $child): $current = null; if ($child == $page) $current = " aria-current='page'"; echo "<a$current href='{$child->url}'><img src='{$child->photo->size(150,150)->url}' width='75' height='75' alt=''></a>"; endforeach; ?> But if my album contains 100 images, it becomes impractical and slow to show the full list of thumbnails. What I'd like to do instead is detect the current page/image position, and show the previous 10 and next 10 images. I've managed to show the next 10 with "slice": <?php $current_position = $page->index(); $next_10 = $page->siblings->slice($current_position, 10); foreach ($next_10 as $child): $current = null; if ($child == $page) $current = " aria-current='page'"; echo "<a$current href='{$child->url}'><img src='{$child->photo->size(150,150)->url}' width='75' height='75' alt=''></a>"; endforeach; ?> How would I go about showing the previous 10 also?
×
×
  • Create New...