
alejandro
Members-
Content Count
90 -
Joined
-
Last visited
-
alejandro started following Store array in session variable, then modify?, Designme - Visually Layout Your Edit Screens - Preview, Access to list users and and 2 others
-
But $slider is not a field in the block template, just a php variable in the template code. I'd need then a new checkbox field in the slider type block just for this.
-
Anyway, it can be done in the render page with: foreach ($page->blocks as $block) { if (in_array($block->template->id, ['77','79'])) { $slider = true; } echo $block->render(); } So the blocks (using pageable field) with templates 77 and 79, for example, set the variable and it can be used in he appended _main.php file. But it seemed more logical to define it in the block itself.
-
But I wanted quite the opposite, I mean: 1) The rendered page is a block containing a slider (block-slider), so I declare a variable here, like $slider = true. 2) The render page ("basic-page" for example) renders that page/block 3) I'm using markup regions and in the _main.php file: $slider = true, so it outputs the necessary scripts and styles for the slider to work Thought it was a good way to optimize page load speed, to only use the scripts/stylesheets needed for each type of rendered block. But I misunderstood how point 2) is actually working.
-
Your way seems better to me ๐ thanks. Curiously using "page list" as input field type shows all pages tree, using a "select" shows only users.
-
I think I found the solution. Edited the admin template to allow editor role to view it.
-
Hello, I've created an "editor" role and there is a template (blog post page) with a page reference field where it should be able to choose an user (post author) but it seems it doesn't have access: "You don't have access to list page /alambre/access/users/" What permission should I add to the editor role? Already added view/edit in user template. Thanks in advance.
-
Hello there, I'm using a pagetable field with several templates and render(), it's possible to pass a variable? for example: - file "block" where: $slider = true - basic-page: $block->render() - _main: if ($slider == true) { slider scripts and css } (but $slider doesn't exists and throws an error, as I understand render() just outputs the html markup) Is there a way to do this? Thanks, Alejandro.
-
Yes, I upgraded to the latest version. Anyway, I've changed it to repeater field with image + page reference fields, so problem solved.
-
Hello, I'm having the Select button disappearing, so I can't select anything. Is there a fix for this issue? I'm using last version of the module. Thanks!
-
Store array in session variable, then modify?
alejandro replied to alejandro's topic in General Support
already tested! ๐ -
Store array in session variable, then modify?
alejandro replied to alejandro's topic in General Support
So much to learn... even searching the documentation ๐คฆโโ๏ธ -
Store array in session variable, then modify?
alejandro replied to alejandro's topic in General Support
๐ ๐ Well, I've just recently installed it, but I need to sit and learn to use it. It seems it's going to be of great help. -
Store array in session variable, then modify?
alejandro replied to alejandro's topic in General Support
Thank you both. I like solution #3 ๐ $session->order = array_merge ($session->order, ['price' => 50]); I didn't know about "setFor", didn't found in docs or cheatsheet. And, what's? bd($session->shop); The array_merge works without it -
Hello, after creating an array and assigning it to a variable in session: $order = array (); $order['token'] = 'token'; $order['product'] = 'product-name'; $session->order = $order; I try to insert another item: $session->order['price'] = 'price'; But it doesn't work: Notice: Indirect modification of overloaded property ProcessWire\Session::$order has no effect in... Isn't possible to modify such session variable? I could build another array from the session variable, add the new item, and then store it again in session, but doesn't looks good. Thanks!
-
Well, I found a solution, duplicate mystyles.js file (or whatever name), change the name and use it for the conflicting field.