Jump to content


  • Posts

  • Joined

  • Last visited

  • Days Won


Everything posted by markus_blue_tomato

  1. Hi @ryan, after some testing around with our translation management, I saw that we need XLIFF format for most of our translation tools (https://www.across.net/, https://tolgee.io/) I guess you could take the id attribute in XLIFF and use some [pageid]-[fieldname]. Example for file from tolgee export/import file XLIFF: <file xmlns="" datatype="plaintext" source-language="de" target-language="de"> And "skeleton" is not mandatory. So there is not need for in in Processwire exports. Example XLIFF export format for processwire could look like this: <?xml version="1.0" encoding="UTF-8"?> <xliff xmlns="urn:oasis:names:tc:xliff:document:1.2" version="1.2"> <file xmlns="" datatype="plaintext" source-language="en" target-language="de"> <body> <trans-unit id="1234-title" datatype="html"> <source>Hello World</source> <target>Hallo Welt</target> </trans-unit> <trans-unit id="1234-body" datatype="html"> <source> <p> <strong>A text about flowers.</strong> </p> </source> <target> <p> <strong>Ein text über Blumen.</strong> </p> </target> </trans-unit> </body> </file> </xliff> This approach is for XLIFF 1.2 which is used by toolge but its depricated. Maybe it would be good to make an export/import option for XLIFF 1.x and XLIFF 2.x.
  2. Talking in general for https://processwire.com/modules/template-engine-factory/ But for now I have some crazy workaround: I have some node.js script im my frontend bundler (gulp) which parses .tpl Smarty files and generates .php files with the translations. I've talked about it here:
  3. Yes this would also be nice for Smarty (.tpl) files.
  4. Thanks, my only first gut feeling was also some db upgrades. But I set the db upgrade time not to the time as this errors appear. 👀
  5. I see several MySQL Error in my log and have no clue how to avoid them since it never happens for me: Anybody has an idea what I could do? Using: PHP 8.0.17 (running in docker container on digital ocean) MySQL 8 (digital ocean mysql as a service) mostly latest PW dev Branch
  6. got some similar troubles where $_FILES has the file but WireUpload->execute() is an empty array. I do some POST request JavaScript Fetch API.
  7. Can TinyMCE also extended like CKEditor? I'm using a lot @Robin S 's HannaCodeDialog Module.
  8. This is awesome! I will try it with our https://www.across.net/ translation tool
  9. Solved... I saved again the Language Pages and now it works... ?
  10. foreach ($languages as $language) { echo $language->title; } I have a strange problem. I want to use this code to create a language switcher, but for the current selected language the title is alway empty. /en/ --> "", "de", "es" /de/ --> "en", "", "es" /es/ --> "en", "de", "" It also doesn't work with using $user->language->title But it works with "id" and "name" instead of "title" Any ideas?
  11. Thanks I will look into this and if it works I will update this post ? Update: Approach works ? $this->addHookAfter('ProCache::allowCacheForPage', function (HookEvent $event) { $event->return = (!empty(\DROPLET_HOSTNAME) && (\DROPLET_HOSTNAME === "my-droplet-production-01" || \DROPLET_HOSTNAME === "my-droplet-stage-01")) ? true : false; });
  12. Thanks I will look into this and if it works I will update this post ?
  13. Hi, I want to setup ProcessWire in Digital Ocean with a load balanced setup approach. Digital Ocean droplets can have a persistend file system called "block storage volume". The problem is, this block storage volume can't be shared between droplets which leads into issues with uploads and ProCache. I solved the uploads problem with the solution that the admin panel is only be used on the first droplets and assets (uploads) are synced with lsync to the other droplets und sessions are saved in redis. But I am struggling with this approach with ProCache. Requests to droplets 1 should be cached (and synced to dropled 2 and 3) but requests to droplets 2 and 3 shouldnt be cached since this would break my sync I guess... One idea I had is to set env variables on droplet 2 and 3 check the variable in _init.php and set https://processwire.com/api/ref/pro-cache/cache-on/ to false otherwise to true. Has anybody ideas to solve this?
  14. Ooooooh - fixed: First I thought site/templates/_init.php is the same as site/init.php and then had init.php in site/templates instead of site. ?
  15. I have tried to use following code in _init.php and _ready.php: wire()->addHook('/hello-world', function($event) { return 'Hello World'; }); But got this back when I visit /hello-world: Ouch… Error: Exception: Path hooks must be attached during init or ready states (in wire/core/WireHooks.php line 834) When I add the hook in init.php I get the 404 Page. Can anyone help me here?
  16. Hm, that sounds like a bug. I would appreciate an PR or Issue Report in Github since I'm very busy the next weeks.
  17. Nice! @ryan does the Snapshot also contain the $page->meta() data?
  18. If anyone needs this field in ProcessGraphQL, I built a support module for it: https://github.com/blue-tomato/GraphQLFieldtypeSelectExtOption
  19. I have a page with multilanguage support. Processwire always redirects to the default language if no language is in the URL-path. E.g. /my-page/ --> /en/my-page/ But when I have a querystring in the URL, the whole querystring is lost: /my-page/?search=xyz --> /en/my-page/ How can I solve this? I didn't find anything regarding language URL redirects in the .htaccess
  20. Oh, good to know. Currently I have one Read/Write Node (for the Admin) and one Read-Only Node for the Frontend.
  21. Lucky you! In slow vaccinating Austria we have a word for my little feeling called "Impfneid" which means some kind of "vaccination envy/jealousy" ;-D
  22. Just tried activated it for https://corporate.blue-tomato.com/ which runs on Digital Ocean. Seems it works well.
  23. GraphQLFieldtypeSelectExtOption adds support of @kixe's FieldtypeSelectExtOption to @dadish's ProcessGraphQL. https://github.com/blue-tomato/GraphQLFieldtypeSelectExtOption Currently the module is experimental since I don't know how FieldtypeSelectExtOption is used in the wild ?
  24. corporate.blue-tomato.com is a new Website about the Corporate behind Blue Tomato. You can find informations about the history and values of Blue Tomato and also all open job positions. Used Modules ProCache ProcessGraphQL (used with React on the job overview page for searching/filtering the jobs) ProFields: Combo ProFields: RepeaterMatrix (Used for some kind of a "PageBuilder") SeoMaestro TemplateEngineSmarty / TemplateEngineFactory
  • Create New...