Jump to content


  • Posts

  • Joined

  • Last visited

Profile Information

  • Gender

Recent Profile Visitors

601 profile views

August's Achievements

Jr. Member

Jr. Member (3/6)



  1. Hi cpx3, if I understand correct, alternate you could try display the first 3 titles like this: $news = $pages->find("template=template-news,start=1,sort=created")->slice(0, 2); // slice(start, limit) foreach($news as $i){ echo $i->title; } first() would be also an option, getting the needed page -I think...
  2. Thank you @tires, but I'm looking for a solution, that let me directly select the manufactor depending on chosen "hardware_subcategoy". This field has a page field, that hold the info about manufactorrer. I need to divide Articles by manufator, just before select an Arricle from. In this case I figured out, that I can change the Label-Field from Title to a custome one: The result shows stored manufactor to each item, not quit what I'm looking for, but I can see, it's somehow possible reaching the pagefield "manufactor" within a fieldset in my template: Instead I need first a list of available manufactorer, unique, so then I just can select the prefiltered Articles (item) in the 4th select-field, named "hardware_item". The last custom Selector String for this 4th select(pagefield) should be "parent=page.hardware_manfilter". Selector String: Something like this does not work: In a hook Ive tried only the These selector, without the subselcet, but here I have to save the page to see some Changes which otherwise are dynamic. $event->return = $page->hardware_subcategory->children; I hope my Quest is more clear and I ask again: Whats the best way doing it, is it possible? Thanks in Advance.
  3. Hello, I'm getting stuck trying to build a filter between subcategories and some items. For the final Item itself, I setup a reference field and wrote following selector: If there are more entries, filtering by manufacturer (which is part of the item) would be very helpful. The problem I'm stuck: How I can get and select an existing manufacturer field, which exist here: fieldset_device.manufactor I tried a hook, just not happy with the result, I despair on: $wire->addHookAfter('InputfieldPage::getSelectablePages', function($event) { $page = $event->arguments('page'); if($event->object->hasField == 'hardware_manfilter') { $subcat = $page->hardware_subcategory; $items = $event->pages->find("parent=$subcat"); $event->return = $items->each('fieldset_device.manufactor'); } });I I appreciate any help.
  4. I'm glad to have found a really good answer to my question elsewhere here in the forum, thank you so much, kongondo. I should stop thinking too complicated, learn something more, an Array, a PageArray ,.. 🙂 It's processwire after all .. It only needed a small change: instead of "name" it was set to "hasField", in my case.
  5. Hello, in the following page structure, I would like to only show selected checkboxes as option-select (single). All "TYPE (Index)" pages contains a checkboxes field where you can select what is available for select - when editing a child-page (Item) PARENT |___1st TYPE (Index) template |___Item |___I... |___2nd TYPE (Index) different template |___Item |___I... I missed something, of course. With the following code snippet I get the selected checkboxes set for "1st Type", but unfortunately also under the other TYPE pages: $wire->addHookAfter('InputfieldPage::getSelectablePages', function($event) { if($event->object->hasField == 'assign_something_default') { $pa = $event->pages->get("id=1354")->children; foreach($event->pages->get("parent=$pa, set_something!=") as $i){ // get TYPE-pages, having (chosen) checkboxes $event->return = $i; } } }); And a try before (screenshot) was'nt the right way here, the result shows pages where checkboxes are set (TYPE) but not the specific content of the checkboxes: "set_something": Type-PageReference, Type-PageArray (e.g. Multi), Input-Type Checkboxes How do I ensure that the correct selection is displayed for the respective child entry?
  6. Hi BillH, what I need, is the possibility giving every logged user his own pages in the front-end, not the other ones. In the Admin-Page I've setup Admin Restrict Branch and allowed a Path for the 1st user. When these user is beeing in the admin-area, he has its own Page-trunk and only the given content should be visible on the fronted. All other pages should be restricted too, using page-protector. Within the templates I have to check for users role (a shared role to all users, except the superuser), but thats not enough. How should I check for the pages associated with the current logged user? Thats the reason, thinking about the initial multi-DB-Setup, where every user has its own Access to shared information. home |____users | |____user1 | | |____page1 | | |____page2 | | | |____user2 | |____page1 | |____page2
  7. Hi Robin S, thank you so much, thank you spending time on it - you saved my evening! Thats quiet nice, autocomplation works fine, too! Now I would try to autoremove these autocreated pages, if you cancelling this action before you publish the page, because ... Please have look: Do you think, a Hook like "pages()->addHookAfter('save', function(HookEvent $event) {...}" would be the right one here? Beside the template I would check for a title, which is exactly the default-title "New Creature" (as in your great and helpful example, shown above), then grabbing the id of this page, so that a deletion of these unessary page(s) is safe, using the Method "$pages ->delete(pages())"?
  8. hello out there, I created 2 text fields for first and last name. In line with this, PageReference fields were created in order to use it to create name combinations for page titles elsewhere. How can I ensure that when creating a new page these two PageReference-fields are displayed directly on "AddPage" and my selection is saved as the title for this new page? I read some stuff about Hooks and found snippets in these context, "$this->addHookAfter('Pages::added', function(HookEvent $event) {...};" and "$page->setAndSave( 'title', "($id) $template_label | $surname, $firstname" );" But unfortunately I'm afraid I still have far too little experience with it. So far I've only managed to hide the input for the title .. It would be great to see how to include these 2 fields, select/addnew and save as pagetitle. Could someone please give me a hand so I can get a little further with my project?
  9. Hi there, most of the data comes from the pw main instance. There are also sub-pages (multiple sites, e.g. sub1.pwmain.instance.net, sub2.pwmain.instance.net and so on) each with its own database. In addition to independent entries, it should be possible to select or update data records here referenced from the main instance (pwmain.instance.net). These links (Page-References to pwmain.instance, e.g. ASM-Select) should be able to be reda and updated from the second (site-sub)database. I tried this approach, with a hook and it looks something like this... ready.php Then, it was possible to choose the entries directly from main-db and save in the site-sub database, so this is how I call an entry in home.php (on site-sub) Without grabbing the id, it would show only the entry from the current "site-sub" domain (test_select_main_db). That just doesn't seem optimal. That's why I kindly ask for your opinion! Why am I doing this? For different users I only need the view of their own saved datasets/links, each of them gets separate access to their own subpage (e.g. sub3.pwmain.instance.net). Every sub-user will choose from the same data-pool and can create (autocomplete, create-new and so on), don't worry about the person, who would fix some possible typos here .. On the other hand: I've tried to map the whole thing in just one database, looks pretty good, especially using the admin-restrict-branch module with its great options. But the thought of getting a separate view on the fronted for each user and their own entries is giving me a headache... Help please, I'm totally stuck, .. What do you think would be the better way?
  10. dragan, I haven't installed that Language Support. As Ryan explains on Hooking after "The 'after' hooks are called immediately after each $datetime->relativeTimeStr(…) method call is executed. This type of hook is especially useful for modifying the value (does it mean the predefined strings too?) that was returned by the method call." Using the hook "after" would be really a nice Solution, because it is not required, translate the whole page, that might the reason for installing that Language-Module.
  11. Thank you for your answers. Yes, I can see the timestamp that way, kongondo. What I ment, is ""Only 12 hours left, it's about to start!" is necessary and should be the right output". 😉 Currently I don't need calculate further, because Ryan has implemented relativeDate in WireDateTime.php, thats more than enough exactly. Before I tried things like this, dragan, I calculate a little too, in my template home.php: use DateTime; $stDate = new DateTime("2020-09-21"); $ndDate = new DateTime("$dt"); $intvl = $stDate->diff($ndDate); echo "<br>" . $intvl->y . " Jahr, " . $intvl->m." Monate ".$intvl->d." Tage"; echo "\n"; // Total amount of days echo ", also " . $intvl->days . " Tage," . " zum Datum: " . $dt . "."; I'm just looking only for a practical solution to adjust(translate/modify) the relative time pre-formatting that I have set within: for example: which are stored in protected function getPeriods() as arrays ( in WireDateTime.php ) : medium-plural' => array( $this->_("secs"), // should be "Sek." $this->_("mins"), // should be "Min." $this->_("hrs"), // should be "std." $this->_("days"), // should be "Tage" $this->_("weeks"), // should be "Wochen" $this->_("months"),// should be "Monate" $this->_("years"), // should be "Jahre" $this->_("decades") // "Jz." ), ... Thanks in advance!
  12. Hey Guys, I am new to Processwire at times. I like it and talk about. Sometimes I stumbling, over and over, especially on modifications ... I would like to customize the output without having to use the translator module. I get the result with uikit.php. $date = $page->get('date'); $dateE = $page->get('date_end');. The rendered Output looks like: Without entering WireDateTime.php directly (of course, I don't want to do code manipulation here) and depending on what situation is given, getting an output like this: "24.09.2020, nur noch 12 Stunden, es geht gleich los!" is what I'm looking for. From what I've read so far, a hook "After" in ready.php would be just right. B ut, I have no exact idea how to overwrite the standard output now. I think, I don't need this Module: https://modules.processwire.com/modules/fieldtype-datetime-advanced/ Then I found Ryans page about "$datetime->relativeTimeStr()" : https://processwire.com/api/ref/wire-date-time/relative-time-str/ but I miss a more practical Example, using such method. It would be great if someone could guide me. Thank you for your great efforts.
  13. Hi ottogal, the screenshot, just added after the posting. Of course, at my checks before, I 've add the new Image during the old one was not marked (used new row - after caption). Would you be so kind, to check this too? Thanks a lot.
  14. Hello out there, if an image with caption has been saved in body or sidebar (regardless of whether using front-end editing or the usual way) and a new one is to be added, the previous image including the caption will be lost. This in case with ticked caption from the Dialog within the Image-Tools. But if you place the cursor in front of the first picture with caption and add a new one, everything seems to be OK. I don't have a git-hub account, otherwise I would have posted this issue on "https://github.com/processwire/processwire-issues/issues". Does anyone else have the issue too, using Version pw 3.0.148?
  • Create New...