Marcel Stäheli

Members
  • Content count

    26
  • Joined

  • Last visited

Community Reputation

5 Neutral

About Marcel Stäheli

  • Rank
    Jr. Member

Recent Profile Visitors

569 profile views
  1. Thank you both for your reply. I tried it on a fresh installation of processwire and it worked fine as you stated. So it had to be something specific in my project. It couldn't be my templates, I never did anything with the modified and published values besides echoing them. So I had a look at my installed modules. And it turned out that some of them used those values. The module "batch child editor" had the most hits when I searched for the term "published" and after I uninstalled it and edited one of the articles, the two values were diffrent. So I assume something in that modules overwrites the published value every time I edit a page (I never edited those particular articles via that module). I either configurated it wrong (I haven't seen any option that could explain this behaviour though) or it is a bug in the module. I contacted the autor of the module, so he can check it out just in case. I will probably still add a custom date field to be more flexible, thanks for the input.
  2. I'm trying to create a news page. I ran into a problem with the sorting of the pages that are being displayed. I want to sort them by publishing date and it works, but whenever I edit one of the pages, the published and modified values get set to the new date and because of that the sorting order changes. Is this a bug? Do I have to activate something so the the publishing date stays unchanged?
  3. The problem was with that particular repeater field. It caused an error in the backend no matter on what page I tried to use it. I recreated the repeater-field with a new name using the same fields as before and populated it with the same content as before. Now it works. No idea what caused that error, I didn't find anything suspicious in the settings of that repeater field.
  4. Thanks for your correction, I did not notice. I updated the site to PW 2.8.62 but the error persists, it is on line 222 now though.
  5. Hello there I recently updated a website running PW 2.6.1 to PW 2.8.35. I followed the instructions and everything went fine. The website is being displayed as it should. However if I try to edit the home-page (ID=1) I get this error: Error: Call to a member function getInputfield() on null (line 204 of C:\inetpub\wwwroot\www.globalsystem.ch\wire\modules\Fieldtype\FieldtypeRepeater\InputfieldRepeater.module) the code in the file on that line is: /** * Determine if the request is one we should handle (internal) or one that another * script coming after this (external) will handle. * */ $internal = isset($_SERVER['HTTP_HOST']) && realpath(__FILE__) == realpath($_SERVER['SCRIPT_FILENAME']); if(!$internal) register_shutdown_function('ProcessWireExternalShutdown'); The site is running on IIS8. There is another page that uses a (diffrent) repeater field and it can be edited just fine. Is the error cause because the repeater is on the home-page? Any idea how to fix it?
  6. @Zeka I forgot to answer, sorry. I solved the first problem: On pages with the same page name in both languages, I only entered a page name in the default language. Normally PW falls back to that name if no name is entered in another language. However if you use localName it doesn't. I just had to enter the same page name in both languages. Second problem: I couldn't get your code to work (I fixed the ')' instead of the '}' ). Something is wrong so I just tried to do it without checking if the tag exists. But I can't get that to work either: $articles = $pages->find("template=article,tag_select=$tagName"); This is supposed to find any article page where the multi-page reference field contains a page with the name $tagName in any language, right? It works only with the default language. As soon as I switch the language, no results. The only tags where I get results are the ones that have the same name in both languages. Since tag_select is a page-reference field, is it the same problem as before? If you search for pages with a certain name it only searches in the default language? If so, how could I search for say page titles within the page reference field?
  7. @Zeka Thanks for testing it. I was not precise enough. It works with the default language German. But when I switch to English the query string of a page with the same name in both languages is &tag=. Did you check in both languages? Second question: It is meant as a security check. I noticed that should someone enter a query string manually like &tag=a I get all kinds of pages listed. So I make sure that the tag actually exists. There are probably better ways to do this. But I would still be interested to know what would be the easiest way to use find() to search for name-field values in the current language?
  8. Hello if have a few article pages that have a multi-page reference field with tags about the content of the article. All tags of a given page are displayed and link to a tag-overview page. Every link has a query string added with the tag name like &tag=cars so that I know which articles have to be displayed on the tag-overview page, The tag name is created using $tag->name. Since the website is multi language using German (default) and English, I use $page->localName($language) to get the localized page name . The code looks like this: foreach($tags as $tag) { $tagsMarkup .= "<a href='" . wire('pages')->get('/tags-overview/')->url . "?tag=" . $tag->localName(wire('user')->language) . "'>" . $tag->title . "</a>, "; } The code works mostly fine, but when a page has the same name in both languages, the query string will have no value just ?tag=. Why? A second problem that might be tied to the first: Once on that tags-overview page, I check if the tag actually exists using: $allTags = $pages->get("/tags/")->children); if($allTags->has("name=$tag") {...} But as I read on the forum (https://processwire.com/talk/topic/2979-multi-language-page-names-urls/?page=6) that only checks for name in the default language. It was suggested to use $page->parent->path . "pageNameEnglish" but I'm not sure where and how to use it in my case. Any help?
  9. That is so much easier, thank you!
  10. I added some fields to the user template. Among them is a single select field named "country" with a few country names in english and german. If logged in, the user has access to his profil page on the frontend where the fields that he is allowed to change are displayed in a form using the form API. I want to populate the select field with the same options as the field has in the backend. But I can't get it to work: //Getting all Options $fieldCountry = $fields->get('country'); $all_options = $fieldCountry->type->getOptions($fieldCountry)->getValues(); //Creating the field $field = $modules->get("InputfieldSelect"); $field->label = _("Country"); $field->addOptions($all_options); $field->set('initValue', $user->country->title); $form->append($field); Something about the selector for the options is wrong. I got the code from the Select Option Fieltype Page but it didn't work with $field->addOptions(). So I added ->getArray() myself. Now I have a dropdown list on the front end but it's just the numbers instead of the country names. Also I would like the currently chosen country to be the preselected option, So when the form gets saved without any new input, the country doesn't change. How would I do that? My code doesn't work.
  11. I'm nor sure anymore how that admintheme error happend, I think i read an outdated thread on how to customzite it. I copied the AdminTheme Folders from a diffrent project where everything was fine. Still had the problem, then I copied the \wire\templates-admin folder, and that did the trick.Everything is back to normal. Lesson: Never mess with the wire folder. Thanks, I don't think I would have tried that without your input.
  12. Hello everybody I'm running xampp 3.2.2 and I created a website using the ProcessWire 3.0.39 build that I plan to use as a foundation for future projects. I exported the site using the "Export Profil Site" (as i have many times before with other sites). I installed the site-profil as a new site with the processwire built 3.0.42. The installation itself goes smoothly without errors when I try to login I get an AdminTheme Reno Error which I can resolve by deleting the AdminTheme Reno Folder under \wire\modules\AdminTheme. I don't think that's the cause of my problem because I had that error with other sites that worked just fine after installation ( I screwed something up with the admintheme on a previous version of the site). So after I logged in everything looks normal, except the dropdowns of the Main Menu (Pages, Setup, Modules, Access ...) don't work anymore, when I hover over them they change color, but no submenu appears. Also I'm missing the "Save"-Button on the top right of any Edit-Page. The "Save"-Button on the bottom left is there and works. Everything else functions as normal too (as far as I can tell). Its not the Processwire Built, if i install one of the standard profils the submenu appear and the "Save"-Button is there. It seems the fault is with my site-profil, but I have no idea what could cause this problem. Any ideas?
  13. Thanks for the reply. I read about that in another post but never tried it because I thought it was a diffrent problem than mine, i was wrong. I tried it now and the loadtime for my speedtest page dropped to 250ms, but much better than before. Thank you
  14. Hello everybody I worked on a website locally on my laptop using xampp and then exported it to our production server. But here the loadtime suddently is about 1.2 seconds longer than before. It doesn't matter how complex or simple the page is, there is always at leastt 1.2s wait time before the browser receives the first page-data (more complex site have aboout 2s). I did a processwire testpage with just 1 line of html-text hardcoded in the template file, no php or database calls and it still has the delay. speedtest.php: <!DOCTYPE html> <html> <head> </head> <body> <main> <h1>hardcoded: speedtest</h1> </main> </body> </html> Now if i move that template page outside of the processwire folder and access it in a browser it displays with no noticable delay. As it should. Could it have something to do with an ip4/ip6 conflict? I ready some users had problems on a windows machine when using localhost, but it's not quite what i'm experiencing. Any idea on where to look for the problem? Anybody had any expiriences like that? I don't even know how to go about diagnosing the problem. Production Server: Microsoft IIS 8.5 PHP 5.6.04 Server API: CGI/FastCGI Processwire: 2.6.1 Any help or suggestion is greatly appreciated.