Jump to content

apeisa

Moderators
  • Posts

    4,629
  • Joined

  • Last visited

  • Days Won

    53

Posts posted by apeisa

  1. Great additions - many of these are things that we have setup our own solutions when hitting performance issues on large scale (10 000+ pages with lots of fields) so it is great to see core supporting this kind of things. Thank you Ryan!

    Quick note on findRaw - it looks like it doesn't support parent? It would be very powerful to be using parent just like any normal field based page relation.

    • Like 3
  2. I think this is probably because in Finnish it is pretty rare to see L after P - I think probably only in words that come directly from foreign languages, like application => applikaatio etc.

    Very frustrating, maybe we should have a module that adds tempalte as an alias for template... 😉

    • Like 2
  3. After 9 years using ProcessWire I still do multiple times a day a typo writing template as tempalte (probably write it wrong more often than right). I know few of my co-workers does the same. Is this curse for us Finnish people, or is tempalte thing in other parts of the world also?

    • Like 3
    • Haha 3
  4. Yes, I think you are probably right with both of your reasons. I did try to make pagelist work with pagination (it does, but couldn't get limit to be set dynamically, so it follows whatever is set on pagelist module which defaults to 50). It seems that I wont need pagination at all on dashboard (more proof for your point 1), but if the need arises I will definitely take a closer look into it.

  5. I generally prefer modules not to "pollute" anything with fields and templates. I believe it is also quite a rare need for modules to really to create pages, templates and fields.

    Of course you generally don't get "turnkey solutions" this way, but more lower level modules and building blocks. For simple example: any modules related to event calendars are just tools to help you build event calendars (render helpers, fieldtypes etc) until they actually create templates and fields for you.

    • Like 1
  6. @bernhard just created a new PR for basic language support (creating new languages and setting translation files for a language). Usage inside migrations is simple:

    $finnish = $rm->addNewLanguage("finnish", "Finnish");
    $rm->setTranslationsToLanguage(
      "https://github.com/apeisa/Finnish-ProcessWire/archive/master.zip", 
      $finnish->name,
    );

    Or if you just want to set translations to default language:

    $rm->setTranslationsToLanguage("https://github.com/apeisa/Finnish-ProcessWire/archive/master.zip");

     

    • Thanks 1
  7. Ok, it was "fairly" simple. I didn't find a way to use WireUpload to handle unzipping, so had to do it manually. But this seems to work:

    <?php
    
    namespace ProcessWire;
    
    $upgrade = function (RockMigrations $rm) {
    	
    	// Install lang support module
    	modules('LanguageSupport');
    	
    	// get default language
    	$default = languages()->get('default');
    	
    	// Download lang pack from github to cache folder, unzip and loop and add .json files to language_files field for the language
    	$http = new WireHttp();
    	$zipUrl = "https://github.com/apeisa/Finnish-ProcessWire/archive/master.zip";
    	$zipLocal = config()->paths->cache . "language.zip";
    	$http->download($zipUrl, $zipLocal);
    	$items = files()->unzip($zipLocal, config()->paths->cache);
    	if(count($items)) {
    		foreach($items as $item) {
    			if (strpos($item, ".json") === false) continue; // Yeah, there could be more proper check here...
    			$default->language_files->add(config()->paths->cache . $item);
    		}
    	}
    
    	// finally save the language
    	$default->save();
    	
        // UI update needs still logout/login or modules => refresh
    	modules()->refresh();
    };

    Not sure what part of that could be part of RM and how? Also - in this level uninstall of LanguageSupport works nicely - I think it might be a lot more complex when multilang fields are involved.

    • Like 2
×
×
  • Create New...