Jump to content


  • Content Count

  • Joined

  • Last visited

Community Reputation

37 Excellent

About Tyssen

  • Rank
    Distinguished Member

Contact Methods

  • Website URL

Profile Information

  • Gender
  • Location
    Brisbane, Australia

Recent Profile Visitors

4,556 profile views
  1. Tyssen


    That solves the editing of the field problem, but if I visit a page which has the field on it, I get:
  2. Sorry, I had Use parent's values if empty checked previously and those fields didn't show until I unchecked it. All good now. 👍
  3. Tyssen


    Just encountered the same.
  4. I've tried updating with your fork Adrian, but it doesn't seem to. Also, after updating Use parent's values if empty doesn't work.
  5. Is there a way for the SEO Title field to automatically be filled in with the Page Title if it's left blank?
  6. Figured it out in the end. Coded above would work fine, but I had other conditionals in place which were preventing parts of it from running.
  7. I'm working with an XML feed which provides image URLs that I want to save to an images field in a repeater. So far I have this: foreach($page->goodreads as $goodreads) : $xml_string = $cache->get($goodreads->isbn, 3600, function() use($goodreads_api, $goodreads) { return curl_get_contents('https://www.goodreads.com/search/index.xml?key='.$goodreads_api.'&q='.$goodreads->isbn); }); $book_xml = new SimpleXMLElement($xml_string); foreach ($book_xml->search->results->work as $book) : $goodreads->of(false); $goodreads->images->add($book->best_book->image_url); $goodreads->save(); $goodreads->of(true); endforeach; endforeach; I've tested that $book->best_book->image_url does actually return a value and have also tested the above with a hard-coded image URL but in both cases, no image is saved. What am I missing?
  8. I have a page that contains a single ProFields table field and I want to display the contents of the table on the front end and then for logged in users, they can edit certain columns in the table. What I have at the moment is $out = '<form action="'.$page->url.'" method="post" > <table class="table"> <tbody>'; $count = 1; foreach($page->fieldName as $row) : $out .= ' <tr> <td><input type="checkbox" name="fieldName_'.$count.'_columnName"></td> </tr>'; if($input->post->submit) : $page->of(false); $page->set('fieldName_'.$count.'_columnName', $sanitizer->text($input->post->{fieldName_'.$count.'_columnName})); $page->save(); endif; $count++; endforeach; $out .= ' </tbody> </table> <button class="button" type="submit">Save</button> </form>'; The two problems I have are: I get an error trying from $sanitizer->text($input->post->{fieldName_'.$count.'_columnName}), not sure how to make that dynamic. If I change the above to just a static value, e.g. $page->set('fieldName_1_columnName', 'Testing') and save the form, it's not saving the values to the database. Where am I going wrong?
  9. Actually never mind, set it as a variable in _init.php and then call it in the twig template.
  10. Another question: in Twig how would you call modules like AIOM where in PHP it'd be <?=AIOM:CSS(array())?> or <?=AIOM:JS(array())?> ?
  11. I've obviously missed something, because I'm getting Call to a member function render() on null from _main.php. My templates are… _init.php <?php $twig_main_dir = $config->paths->site . 'templates/views'; $twig_loader = new \Twig\Loader\FilesystemLoader($twig_main_dir); $twig_env = new \Twig\Environment( $twig_loader, [ 'cache' => $config->paths->cache . 'twig', 'debug' => $config->debug, 'auto_reload' => $config->debug, 'strict_variables' => false, 'autoescape' => true, ] ); if ($config->debug) { $twig_env->addExtension(new \Twig\Extension\DebugExtension()); } foreach (['page', 'pages', 'config', 'user', 'languages', 'sanitizer'] as $variable) { $twig_env->addGlobal($variable, wire($variable)); }; $twig_env->addGlobal('homepage', $pages->get('/')); $twig_env->addGlobal('settings', $pages->get('/site-settings/')); $variables = []; _main.php <?php $template_file = 'views/' . $page->template->name . '.twig'; $twig_template = file_exists($twig_main_dir . '/' . $template_file) ? $template_file : 'views/basic-page.twig'; echo $config->twig_env->render($twig_template, $variables); My .twig templates are set up as yours are and my PW .php templates are just blank at the moment.
  12. So I think I got it. I had to add this to package.json under globs. "critical": [ { "url": "", "template": "home" }, { "url": "url-using-this-template", "template": "basic-page" }, { "url": "blog", "template": "blog" }, { "url": "blog/blog-post-url", "template": "blog-item" }, { "url": "contact", "template": "contact" } ],
  13. I'm working on a site that uses the front-end tooling set-up from https://github.com/nystudio107/craft It uses package.json for defining all the Gulp plugins and paths as described in https://nystudio107.com/blog/a-better-package-json-for-the-frontend I've been able to convert it for use with my Processwire project but I'm a bit confused about how the Critical CSS part works and how to map URLs to templates. I've also found https://processwire-recipes.com/recipes/inline-critical-css/ which uses Grunt but again, it's not clear to me how it handles all the templates. Has anyone got a similar set up working and would you be able to share your package.json or gulpfile?
  • Create New...