Jump to content


  • Posts

  • Joined

  • Last visited

  • Days Won


Juergen last won the day on July 15 2020

Juergen had the most liked content!

Profile Information

  • Gender
  • Location
  • Interests
    Playing electric guitar (Rock, Heavy), flying model helicopters

Recent Profile Visitors

5,859 profile views

Juergen's Achievements

Hero Member

Hero Member (6/6)




Community Answers

  1. Hello @all I want to know if someone stumbled over the same problem: You have created a modul and during the installation process one or more fields will be created via the API. You have decided to use translateable strings for the field label, description etc. so it could be overwritten by translateable files. $field = new Field(); $field->type = $this->modules->get("FieldtypeDatetime"); $field->name = 'mydate'; $field->label = __('My Date'); So far so good. You install the module and everthing works fine. The label of the via API created FieldtypeDatetime is "My date". Now you want to overwrite this and therefore you create the translation file and overwrite it with fe "Your date". But then: Taking a look at the label of this inputfield on the edit form shows that the label has not changed. The reason for this behavior is, that the field was created before the translation file and therefore the overwritten label will not be used. So you have to go to the field configuration itself and change the label there or you uninstall the module and install it once more. In this case the translation file exists if it was created before and can be used during the creation process of the inputfields. It would be better if the overwritten value will be taken into account. It is not really a problem, but does anybody also struggle with this and found a way to solve this behavior. If not it does not matter. Best regards
  2. Yes, that works!! Hook inside hook -> nice combination. That was exactly what I was looking for!! Problem solved!! 😃 Thanks!!!!!!
  3. Thanks @netcarver This works, but only if the module cache will be deleted. So I have to include a cache delete and save new method too. I will try to figure out how this could be realized.
  4. Ok, doesn't work! I used this code inside my checking method to set and save config data: $data = wire('modules')->getConfig('MyModuleName'); if(Condition){ $data['permanent'] = true; } else { $data['permanent'] = false; } wire('modules')->saveConfig('MyModuleName', $data); The permanent value will be changed and saved inside the data table, but it seems that there is a module cache problem which prevents the uninstall checkbox from beeing updated (disabled or not).
  5. Thanks @horst Interesting thought, but the condition depends on a setting in a configuration field of the module, so I guess this will not work, but I will try it!
  6. Hello @all I am struggeling to find a way to set the checkbox status of the uninstall checkbox at the bottom of the module configuration page to disabled. I have created a module and I want that the checkbox should be disabled under certain conditions. I have tried to use this hook in my module file init method: $this->addHookBefore('ProcessModule::executeEdit', $this, 'showHideUninstallCheckbox'); and the method itself: protected function showHideUninstallCheckbox(HookEvent $event) { if(condition) .... run code to disable the checkbox } Maybe this hook is not suitable for this purpose. Can someone help me out to show me a way to achive this. Thanks in advance!!
  7. Ok, I got it: Updating my Fieldtype file with this method solved my problem. I found this method inside the FieltypeText.module file. /** * Update a query to match the text with a fulltext index * * @param PageFinderDatabaseQuerySelect $query * @param string $table * @param string $subfield * @param string $operator * @param int|string $value * @return DatabaseQuerySelect * */ public function getMatchQuery($query, $table, $subfield, $operator, $value) { $ft = new DatabaseQuerySelectFulltext($query); $ft->match($table, $subfield, $operator, $value); return $query; }
  8. Hello at all, I have created a new fieldtype with multiple fields (database columns) in it. More precisely it holds various company data (fe. company name, street, phone,...) - each in 1 database column. I want to make these values searchable in the site search, but it always shows me that the selector '~=' is not implement. It accepts '=' as a selector but not '~='. How can I implement this specific selector inside a fieldtype, so it does not throw me an error all the times, if I run a query with this selector. Thank you PS: My fieldtype class extends from Fieldtype
  9. No problem for the moment, because I dont need the raw value. I thought that I needed it, but I dont 😉!
  10. Hello @MoritzLost This is what I wanted, but leads to an internal server error on the frontend. In only know $page->of(false) There is a similar post in the forum, which does not work as expected too. Thanks for your hint.
  11. Thanks @LostKobrakai, but this was a misunderstanding. I wanted to prevent the usage of getUnformatted or page->of(false) or something like that method inside the template. I was looking for a possiblitiy to disable outputformatting inside the method itself, so I can use the API without adding a getUnformatted on the template base. But it doesnt matter, because it was a thinking mistake of mine. I dont need the unformatted value from the db - i need the value from the db in a specific format and therefore I am using a manipulation function to get the desired result. But it would be interesting if disabling the formatting inside a method itself is possible.
  12. Hello @ all, Lets imagine I have a value stored in the database which I can output on the frontend with a simple API call like $page->myValue and this value will be manipulated with the formatValue() method before output on the frontend. So it was stored in the database like this: This is my value And after running through formatValue() method it will be: <p>This is my value.</p> So far so good. Now I have created a method inside my fieldtype/inputfield class which uses this value: public function myMethod() { $value = $this->myValue //value should be unformatted as dirctly stored in the database } Problem: myValue is always formatted because it runs through the formatValue method first - is there a way to get the "raw" data instead without setting ouputformatting to false inside the template if I call echo $page->myValue->myMethod(); I think it would not be possible because myMethod() is part of myValue, but maybe someone has an idea how it could work. Thanks in advance
  13. 2 new methods for Schema.org markup added: print_r($page->fieldname->getjsonLDTimes()); returns an array like this: Array ( [0] => Mo,Tu,We 08:00-12:00 [1] => Mo,Th 13:00-18:00 [2] => Th 08:00-11:00 ) Can be used to create the markup by yourself or echo $page->fieldname->renderjsonLDTimes(); returns a string like this: "Mo,Tu,We 08:00-12:00", "Mo,Th 13:00-18:00", "Th 08:00-11:00" You can use the second method in schema.org Local Business opening hours as followed: ..... "openingHours": [ "Mo,Th,Sa 11:00-14:30", "Mo,Th 17:00-21:30", "Fr,Sa 17:00-22:00" ], ..... Best regards
  14. New feature added: I have updated the inputfield to support multilanguage timeformats on the frontend. You can set the timeformat of each language in the configuration of the inputfield in the backend (see screencast below). Supports strftime() and date() formats. Languageformat.mp4 Version was bumped from 1.0 to 1.1 on Github. Best regards Jürgen
  15. Hello @ all I have 2 new methods added which take care of days with same times. It often happens that different days have exactly the same opening times. To prevent writing the same times over and over again, you can combine these days with this 2 new methods. 1) First new method to output a multidim. array print_r($page->fieldname->combinedDays()); You can use this array to create the markup by yourself. 2) Render method to output an unordered list of same opening times echo $page->fieldname->renderCombinedDays(); This method outputs a rendered string like this one: <ul class="uk-list"> <li>Mo, Fr: 08:00 - 16:00</li> <li>Tu, Th: 08:00 - 16:00, 18:00 - 20:00</li> <li>We: 16:00 - 23:05</li> <li>Sa, Su, Ho: closed</li> </ul> As you can see days with same times are combined now. Changes are added to Github now, so please download the files again if you want the latest version.🙂 Best regards
  • Create New...