Jump to content


  • Content Count

  • Joined

  • Last visited

  • Days Won


d'Hinnisdaël last won the day on January 15

d'Hinnisdaël had the most liked content!

Community Reputation

139 Excellent

About d'Hinnisdaël

  • Rank
    Full Member

Profile Information

  • Location
    Vienna, Austria

Recent Profile Visitors

1,522 profile views
  1. Are you sure that's the final markup? Whenever I had to use custom fields, the attribute names were kept as custom1, custom2, etc. So the example from the Snipcart docs are copy-paste and not meant to be changed to the fieldnames you have. It's of course possible that both work and Snipcart will detect the fields either way. Just checking. This is an example from an existing shop I'm running: <?php if ($cart_has_options): ?> data-item-custom1-name="<?= $cart_option_name ?>" data-item-custom1-options="<?= join('|', $cart_option_data) ?>" data-item-custom1-value="<?= $cart_option_value ?>" <?php endif; ?>
  2. I think there will be cases where custom fields will differ by product template, so the order might not be guaranteed and it's probably better to name them after their content (custom_field_size instead of custom_field_1). But how do you determine the option n° for Snipcart — if you move around the field in the template, should it keep its ID to keep order records consistent, or does that not matter as long as it's named properly? That's what I've done in the past: create an order template with fields that I map to custom options. Also good to have the consent text editable by site editors.
  3. Sounds reasonable. They kind of jumped the gun for marketing reasons there; not a fan of how it was rolled out. How does a production shop even work without analytics and inventory management? You don't happen to be in contact with them regarding ETAs on those features? I found it hard to get reliable answers even though wish I could switch my sites to their Vue cart layouts and ditch jQuery once and for all 🤡
  4. This looks amazing, thanks for your effort and your transparency in developing this module. Please make it very obvious how to donate or contribute to the project in whatever way is helpful 👽
  5. Very nice! Love the idea. I'd like to try this out, but I think this will only make sense for production environments if the static copy is completely self-contained, i.e. including paginated pages, assets, etc. You could probably easily do that using wget and some command line magic. Your module would then make the whole process configurable and user-friendly, e.g. to run it via cron, via hook after page save, etc. Example gist: Download an entire website with wget, along with assets
  6. Seems like the _() function encodes entities only on multi-language installs. I have a working fix for this, but it's not yet on GitHub. I'll throw it in with the next release 🔮
  7. I'm using the standard AdminThemeFramework::getUserNavArray hook. Looks like that's a newer addition and not available on default. Any particular reason you're still using the default theme? I switched all of my client sites over to UiKit and I don't regret it. The old one looks so... old.
  8. @matjazp I added fixes for both issues you're describing. Check out the latest commit on the develop branch. These will be part of the next release.
  9. Thanks for taking the time and splitting this up ☃️ Much appreciated. I'll try this out with my next project where it'll come in really handy.
  10. @zoeck Slow day in the office — I added the editMode and viewMode options to the PageList panel as well. See the latest release. $panels->add([ 'panel' => 'page-list', 'title' => 'Information', 'data' => [ 'parent' => 'template=basic-page, name=info', 'editMode' => 'modal', 'viewMode' => 'blank', ], ]);
  11. You're right of course 👽 I have a custom panel that already includes the modal script, so I never noticed. I pushed a fix that should work. Thanks for debugging!
  12. Quick question: will this module work as intended if you turn off output formatting? I really like the sub-selector functionality like date.year=2019, but won't need the subfields like $page->date->year since I use Carbon for date fields in my frontend. Or are these two dependant on each other in any way?
  13. Strange. I added that to the module itself and it only worked for me after I added it: protected function includeModalScripts() { $this->modules->get('JqueryUI')->use('modal'); } /* And then later */ if ($modal) { $this->includeModalScripts(); $button->class .= ' pw-modal pw-modal-large'; }
  14. @gmclelland I can see this getting a bit out of hand with a CMF like ProcessWire that doesn't set any boundaries on the shape content can take. The most versatile solution would be to create an at-a-glance panel, but to rely on the programmer to supply the counts that are relevant to their site. I can see the template and role counts working the way you suggested. Still, not all templates are meaningful units of content, e.g. a `country` template for populating forms is really not that interesting to site editors. The role naming / pluralization would only work in English here (e.g. vendor becomes Vendors), so there'd need to be a way of naming them in other languages. The documents and images are a bit more complicated, however. ProcessWire doesn't have a central media or file library to get a count from. So you need to run a cronjob to scan the site for images across all pages. You'd also need to figure out which images are meaningful content (photos) and which are e.g. system-created QR codes for event invitations. How do you count videos? I have a file field called videos, and a repeater field with a video_url field. There's no way of counting that without doing it yourself. Don't get me wrong, I like the idea, but I don't think automating it is feasible or the right solution in ProcessWire. I'll be happy to be convinced otherwise 🌝
  15. @Jens Martsch - dotnetic @Macrura Adding multiple panels via $panels->add([]) should work now.
  • Create New...