Jump to content

August

Members
  • Posts

    34
  • Joined

  • Last visited

  • Days Won

    1

Posts posted by August

  1. Hello @dotnetic, it fits exactly. 🙂

    It's what I was looking for, just great, thank you very much for that!

    I found this post in the morning: How to remove breadcrumbs, modify headline? and would most probably have failed on it ..

    It feels good while you grow with a project and learn a lot of basic things and have the support of the great processwire- community.
    And thats motivating too.

    This is not a given, so thank you all!

    • Like 3
  2. Hello,

    I'm looking for a way to append a title beside the headline of a page which is beeing edit.
    It's about ease of use, at first glance.

    To figure out, first I tried  something like that:
    (file "_content-head.php" of  AdminThemeUikit  (just Testing and remove));

    if($headline !== '' && !$adminTheme->isModal) {
    # Test-Line: get current page-id (edit) 
    $p = $this->pages->get($this->input->get->id);
    # Test-Line: check (type=text) page_field isn't empty

    $appendix = !$p->page_field == '' ? "($p->page_field)" : '';
    echo "<h1 id='pw-content-title' class='uk-margin-remove-top'>$headline . " ($appendix)</h1>";

    Then, I tried a Hook, but it alters the page->title and this doesnt fit my need here.

    wire()->addHookAfter('Pages::saveReady', function($event) {
        $page = $event->arguments('page');
        if ($page->template != 'my_template') return;
        $page->of(false);
        $page->title = "\$page->title|\$headline - " . $page->page_field->title;
        $event->return = $page;
    });

    I read about:  Process::headline(), but can't figure out.

    Does Someone has an Suggestion, how I can extend/append the existing title (page edit) with tiny Text, just render?

    image.png.90e17da299e37b5524e96c9b8fdf2efc.png

    Thanks in Advance

     

     

     

    • Like 1
  3. An interesting solution, @da².

    I meant how do you know about git, you seem to be well up to date 🙂 

    Unfortunately, I've seen the table header disappear on smaller devices.
    This is certainly not such a problem if there are a few entries, but it is more of a problem with a table like yours.

    But perhaps the problem with the hidden table header can be solved on devices with lower than medium viewport by showing then the corresponding header for each entry directly above or before each line on smaller devices, possibly like following ..

    <td><em class='pw-responsive-table-header uk-text-meta '>Score</em>0</td> and so on .

    That would also be Ryan's decision.

    Maybe someone else has an idea about this...

  4. Hello dear Community, 

    it should just meant to be in, so that the ProFields: table doesn't interfere with proceswire's very nice and tidy admin layout on smaller devices when you use a few more columns of data:
    I would like to prevent horizontal scrolling and will ask you.
    Is there a quick solution in pw to add a css class?

    Following Line (117) in file: AdminThemeUikit.module is meant: 

    'table' => 'uk-table uk-table-divider uk-table-justify uk-table-small',

    Maybe extending with uikit-css: uk-table-responsive, so it would works like:

    'table' => 'uk-table uk-table-divider uk-table-justify uk-table-small uk-table-responsive',

    Actually, I don't need any other major changes to the theme that would require the usage of Uikit admin theme customization options, for this/now.
    Or do I have to use it?

    Thanks in Advance.

  5. Dear community,

    I 've built 3 fields from my process page tree, each with a single select field, into a wrapper with its own namespace - Ryan calls it "Fieldset Page".
    The inheritance works wonderfully, but finally - the selection is never saved in here.

    Could someone please tell me why I am not able to save inherited fields in this Fieldset Page?
    Is it a kind of ProField Function what I'm looking for?
    Did I misunderstand it?


     

  6. Hi Sierra, that helped once me solve a similar problem ..

    $this->addHookAfter('InputfieldDatetime::processInput', function(HookEvent $event) {
        // Get the object the event occurred on, if needed
        $InputfieldDatetime = $event->object;
    
        // An 'after' hook can retrieve and/or modify the return value
        $return = $event->return;
    
        $post = $this->wire('input')->post;
        // change date string to timestamp
        $firstdate = strtotime($post->date_start);
        $lastdate = strtotime($post->date_end);
    
        // if first date greater than or equal to last date
        if ($firstdate > $lastdate && $lastdate != '' ) {
            $field = $event->object;
            if ($field->name == 'date_start' || $field->name == 'date_end') {
                // get the page being edited
                $page = $this->wire('modules')->ProcessPageEdit->getPage();
                // ensure we don't save 'erroneous' dates; we revert to older saved (db) dates or blank
                $oldDate = $page->get($field->name);
                $field->value = $oldDate;
                // only show error on first date field
                if ($field->name == 'date_start') $field->error("");
                if ($field->name == 'date_end') $field->error("") . $field->message("Das Datum zum $field->label muss in der Zukunft liegen, bitte die Angabe zum Veranstaltungsbeginn beachten!");
            }
        }
    
        // Populate back return value, if you have modified it
        $event->return = $return;
    });

     

  7.  

    Dear community, 

    I'm trying to display the page title of another field  in a selection next to the page title:
    image.png.efc689b1337bf44d6fdc416bdd251dec.png

    It only looks alright on this admin-page then saved, until the 1st choice (Page Reference)  is changed to show other options in the 2nd field (Connect Page Field):

    {title} - {connect_page_field_title} :
    image.thumb.png.b80b4c0ac10fa703383d33b0161cc96d.png

    Hierarchy 1st field
    image.png.ea0e01913a7d905c10891c8e8ab3a67d.png

    image.png.1704d4fabb48eccae0f566c6ca65708d.png
    In addition, Umlauts of user names are not displayed correctly, there are HTML entities too.
    On the same page I've  figured out, that Umlauts are displays correctly with following Setting in Custom format (last Screenshot):

    *.page selector will show an Umlaut correct here:

    {title.page} {title_of_parent_child_page.page}

    Please, please help!

  8. Hello? 
    I'm not sure if it can be done and would be happy to read about from you:

    Any approach to solving the problem would be really helpful here.

    I use a template in which save locations as pages, fields here are storing title, address and so on to each location ..
    Another template (lets call it B), I access the locations as page-reference-field (single select) and I would like to display the specification of a field (a simple string) from the location-template, which has Ryans Fieldtype “text field unique”. Using a hook on "text field unique in template B display the "unique" placeholder - so that these string cannot exist twice in the system.
    By the way, it works, but only - ion page-save, first .

    Do you see a way, that the text field with the required string is automatically filled out, if a location (Page Reference) has been selected, just before?


    I also thought about doing this with another page selection reference field, but I don't see any way to update the required  text input placeholder …


    image.png.4688ca6302c91293a9730141a4c1f133.png       image.thumb.png.fce0d69623814ac2983e1df504ee72be.png

  9. Hello, I've been trying to create a selection for a dynamic selection field for days now.
    This ist the working statement in the Admin-Backend of the field (Page/select - not Multiselect or AM) and I also tried/played around with a hook in ready.php,but the result remains the same:

    parent=page.helper, refSeries=page.selectManufacturer, pages_subcat=page.selectSubcat


    However, the current status requires pressing Save to reload the changes.
    It would be good if this could be done like the other dependency fields.
    I've also tried some sort of pre-select field to get the desired results from its result.
    Unfortunately, does anyone have an idea or a tip on how I can solve this, maybe with a Hook in "selectablePages", add(pages->find...)?


    I appreciate any support that leads me in the right direction, thank you in advance

  10. 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...
     

  11. 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:
    image.png.7e4a1a541ce940e153524542fe43fccd.png
    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:
    image.png.f6c3dfce8486e24e4520e6e40511ec1b.png
    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:
    image.png

    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.

     

  12. Hello, I'm getting stuck trying to build a filter between subcategories and some items.

    image.png.5c97219dd1290513a4a233ba0b879d3a.png

    For the final Item itself, I setup a reference field and wrote following selector:
    image.png.9bbdca7163b59f0530ebddcbc0e9c94d.png

    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. 

  13. 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:
     image.png.77a97f9cd03db547a241176d1258f010.png

    "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?

     

  14. 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

                  image.png.f0124979fb96bb2e6dc4b59d1a8714ba.png  image.png.80905e531fa6ef526e805bbc547301aa.png  

     

  15. Hi Robin S, thank you so much, thank you spending time on it - you saved my evening! 
    Thats quiet nice, autocomplation works fine, too!
    image.png.8223a206f93427f28ad0f5b8ffe39409.png

    Now I would try to autoremove these autocreated pages, if you cancelling this action before you publish the page, because ...
    Please have look: image.png.6f6068bc1e048b464e4ead4e514ea5c1.png

    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())"?

  16. 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 ..

    image.png.ef4eb104a97da51bb58ece48d8ae59f0.png

    It would be great to see how to include these 2 fields, select/addnew and save as pagetitle.

    image.png.ccd6946e474837e3ffb02d6c5c39035c.png


    Could someone please give me a hand so I can get a little further with my project?

  17. 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
    image.png.8df222768401199272be3a3cad76c2e5.png

    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)
     image.png.65ba2e0c8b8116a38cb787dd27d4b01c.png  

    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?

  18. 4 hours ago, dragan said:

    You should be able to translate these strings in the language section: setup/language-translator/edit/?language_id=1010&textdomain=wire--core--wiredatetime-php

    Just replace the language_id with your alternative language id. Or go to setup > languages > German and click on "find files to translate" under "core translation files", then select WireDateTime.php.

    Thank you!
    image.thumb.png.4641dcf0315815587e92e6ef959f9203.png

  19. 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.

  20. 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:

    image.thumb.png.87711fbad723cea633d079452e8ae5fb.png

    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!

  21. 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:
           image.png.f06678cbfe6b2ad2c3c34173eb09cf05.png

    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.

  22.  
    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?

    grafik.png

×
×
  • Create New...