Jump to content

Recently Updated Topics

Showing topics posted in for the last 7 days.

This stream auto-updates

  1. Today
  2. Nice site and write-up - thanks, @bernhard!
  3. @kaz that is the way to go Or using embed option D and writing custom code
  4. In addition, the same padloper-product, padloper_type=1242 (event in this case) should have no shipping fee. I made 2 rates (standard 7,- for normal products, and free). Can I preselect the 'matchedShippingRate', but only if there are only event-typed products in the cart?
  5. Greetings PW forum, I have completed a revamp of the artist collective The Teaching Machine's website, which was once built on Cargo Collective, then Wordpress, and is now using ProcessWire with the Rockfrontend Module, Duplicator Module, and the Latte template engine (among some others). The site codebase can be found here. (I don't understand why GitHub thinks it's 99% CSS … that will be for another day). The site menu is right-justified, with a simple navigation and dark-mode toggle. Individual project pages can contain galleries (also right-justified), media embeds, and will display similar items in the same category as well as site-wide items. A Zones page displays overarching categories, and randomly selects new projects each time the page is visited. The Home page displays the latest projects in descending chronological order. The Teaching Machine is an independent arts laboratory devising strategies for amalgamated practices within the cinematic imaginary, musical zeitgeist, and networked hyperstructures. Founded by hypermedia artist Strangeloop in 2011, with members in Los Angeles, Barcelona, and Singapore.
  6. Yesterday
  7. Jep Firefox is looking automatic for a favicon file if it is not provided in <head> section.
  8. You can create a template from your HTML and then use it.
  9. Not sure if this helps in this case here but when it came to glyphs and subsets I played with: https://wakamaifondue.com/ You drop a file into it, can see what the font is capable of and go from there. Another tool I found in my bookmarks is this: https://github.com/zachleat/glyphhanger To create subsets and such. Don't know if this stil works.
  10. Yeah that might be more elegant in some situations. Actually you don't even need to put it in a hidden div, you can put it in your markup in a latte comment for example. So those classes will not end up being rendered in your sites markup, but still tailwind will catch them for the final css. I prefer to place markup related things in markup files (*.latte) as for example when working on a "text" block for RockPageBuilder then I want it to contain all necessary markup for that block. So when moving that block into a new project it will still work and I will not have to mess with the tailwind config... But workflows and preferences are different πŸ™‚
  11. Have a great weekend and Happy Easter, @ryan.
  12. just add a dot before the folder name. PW will ignore the module. Then install the new Module
  13. I need the post-url and will update content of this post asap πŸ™‚ You can signup for Rock Monthly if you don't want to miss the release πŸ™‚
  14. same here πŸ™‚ True! I'm using that + RockPdf to generate monthly reports for my clients. The DB is something around 800MB and generating the reports is terribly inefficient, but it works and I think it looks nice and creates value πŸ™‚ Maybe it would have been better to create a simple API inside the container. But it was the simplest solution back then and I think they just want to monitor and don't need to create any reports anyhow πŸ™‚
  15. kaz

    if query

    @zoeck interesting, I didn't know that in an array the search is different
  16. Last week
  17. $items = $pages->find("template=event_day, event_schedule.speakers={$page->id}"); foreach($items as $item) { foreach($item->event_schedule as $repeater_item) { echo $repeater_item->event_title . '<br>'; } } It will echo out all the repeaters for that page, even though the speaker is only in one of them? What's the point of the first portion ($items) if you have to make another exception to see if the speaker is in the second foreach loop?Apologies for perhaps not seeing the forest from the trees!
  18. Wow I missed that thank you. The conditional inclusion is so as to not repeat if running from within PW already, only require if ran from outside PW. var_dump(class_exists('ProcessWire')); returns false from within it so that's why it's \Templates...
  19. New docs about the RockPageBuilder API that makes it easy to import content from old websites and convert it to RockPageBuilder blocks 😎 https://www.baumrock.com/en/processwire/modules/rockpagebuilder/docs/api/
  20. Hey @teppo, I occasionally noticed some PHP Warnings when editing pages that use repeaters: PHP Warning: Attempt to read property "type" on null in .../modules/VersionControl/ProcessVersionControl.module:668 Could be changed to the following to suppress the warning: // before if ($diff && wire('fields')->get($field)->type instanceof FieldtypeFile) $diff = ""; // after if ($diff && wire('fields')->get($field) !== null && wire('fields')->get($field)->type instanceof FieldtypeFile) $diff = ""; Maybe something that could be addressed in a future release?
  21. Hi @kongondo, today I tried to upgrade a ProcessWire website from PW 3.0.210 to 3.0.229. After that, when trying to access pages in the backend, which contain MediaManager fields, the following error occured: ProcessWire\WireException Item 'type' set to ProcessWire\Pagefiles is not an allowed type search File: /html/website/wire/core/WireArray.php:458 448: * 449: * @param int|string $key Key of item to set. 450: * @param int|string|array|object|Wire $value Item value to set. 451: * @throws WireException If given an item not compatible with this WireArray. 452: * @return $this 453: * 454: */ 455: public function set($key, $value) { 456: 457: if(!$this->isValidItem($value)) { 458: throw new WireException("Item '$key' set to " . get_class($this) . " is not an allowed type"); 459: } 460: if(!$this->isValidKey($key)) { 461: throw new WireException("Key '$key' is not an allowed key for " . get_class($this)); 462: } To verify that this error was caused by Media Manager, I renamed the directory "MediaManager" in the modules folder. Then, the error disappeared. I had to downgrade ProcessWire for now, but the website has to be updated sooner or later, as other modules and parts of the site depend on it. Do you have any hints what I can do to avoid this error or is there a bugfix release of MediaManager?
  22. Nice module! An "autoclose on save" function would still be good πŸ™‚
  23. I started with those, but they're not always the right way. There's also url segments and path() method overrides. The challenge is: 1. you want pages to be served at your desired url. 2. You want the admin ui to show correct URLs. 3. You want the link adding UI to find the correct URL. 4. You want $pages->get(url) to work. 5. You want the qa checker to work. 6. You want PagePath module to keep up with changes. If interested, here's a rambling post of my journey, I got there in end (except 2, but, meh!).
  24. Solved w/ Hacky Workaround: By adding a line of code to InputfieldImage.js, I'm able to now specify a url to POST to when using AJAX upload for InputfieldImage. //LINE 1635 of InputfieldImage.js function initHTML5Item($this, i) { //THIS CODE IS UNMODIFIED >>> var $form = $this.parents('form'); var $repeaterItem = $this.closest('.InputfieldRepeaterItem'); var postUrl = $repeaterItem.length ? $repeaterItem.attr('data-editUrl') : $form.attr('action'); // <<<<<< THIS CODE IS UNMODIFIED /* To get InputfieldImage to work on a page besides the ProcessEditPage We need to change the POST url for ajax uploading of images, to point to the EditUrl of the page that contains the image field. We can set the custom action url on the form html element. But we need to grab that value here if it exists. */ //THIS LINE WAS ADDED BY JOEL TO MAKE INPUTFIELDIMAGE WORK ON OTHER PAGES.... if($form.attr("ajax_action")) postUrl = $form.attr("ajax_action"); //THIS CODE IS UNMODIFIED >>> postUrl += (postUrl.indexOf('?') > -1 ? '&' : '?') + 'InputfieldFileAjax=1'; And in my custom admin module, I add this attribute to the form that contains the image field... /* AJAX Image uploads. Set a custom ajax POST url here that will be used in the core InputfieldImage.js file to have the correct upload url for ajax images on the InputfieldImages. */ $form->attr("ajax_action",$mypage->editUrl); Now it works flawlessly! (Don't forget to add "<div style='display:none' id='PageIDIndicator'>$mypage->id</div>" someone on the page too! as mentioned in previous post)
  25. Hey, I just came across this thread because I ran into this issue. It turns out if you feed the configuration a single spaced empty string it will not wrap the WYSIWYG content in the paragraph tags. And for whatever reason, span was causing my system to become unresponsive. I didn't see this mentioned here or in the TinyMCE forum so figured I'd share here incase it helps save someone some time. Go to: Modules > Configure > InputfieldTinyMCE scroll down to Default setting overrides... Hack the Planet!
  1. Load more activity
Γ—
Γ—
  • Create New...