Recently Browsing 0 members
No registered users viewing this page.
Yesterday I found out about the relatively new markup regions functionality and I love it. The ease of use and simplicity is just what I think is typically ProcessWire and is why Im still happy I chose for PW four years ago when changing CMS/CMF. So thanks Ryan for your vision and all you put into it.
That said, Im running into an issue I'm not sure what to think of it.
I have enabled markup regions in config.php and it does what I suppose it should: it replaced and all. Very neatly.
The only thing I discovered is that while Im debugging some issues and I use var_dump to echo some stuff, it does that two times in a row. And this only happens when useMarkupRegions is enabled.
I dont get this, does it mean the template file gets called twice (and thus the script is run twice?) or is it only displayed twice, where the first time most output is erased and /or replaced by the substituted output?
I don't really get whats going on there. Is this behavior normal when using markup regions?
Still in my 'teaching game'. Here's my problem : I 'find' all players with a request like
$allPlayers = $pages->find("template=player"); [/code Then, I limit to players belonging to the team of the logged in player with [code] $teamPlayers = $allPlayers->find("team=$loggedPlayer->team");
No problem so far. But my scoreboards rely on either :
to find the logged player's position in the charts.
On the 'global' newboard with scoreboards based upon $allPlayers, everything works as expected.
BUT on my 'team' newsboard, even though I'm using $teamPlayers, the returned indexes are based upon $allPlayers. Am I clear ? In other words, I have a total of 125 players, and my logged player is 61 out of 125 regarding the number of places he freed. But in his particular team of 25 players, he sould be 15 whereas he's still 61
I'd like to reset my indexes (and start back from 0), but I can't find my way out of this...
If someone has a hint to help, I'd appreciate.
I have a second part in my worry : I had a way around it by simply making another 'raw' request :
$teamPlayers = $pages->find("team=$loggedPlayer->team");
Then my team indexes were right, but I faced another issue : Reordering my wirearray according to the scoreboard I want usually worked fine (simple sort() based upon an integer field, for example, player's coins, player's karma...) and indexes were updated BUT resorting with places.count ('places' field is a pageArray) doesn't update the indexes returned by getItemKey and my logged player is always at the position he was when I first did my initial $pages->find() query
So my way around found its limit and that's why I'm posting here, after struggling with this for a couple of hours...
Thanks in advance for the help.
I am using ProcessWire as the back-end to manage contents on multiple sites (I call them "sub-domains"). I use ProcessWire as an editing system and database only. The ProcessWire templating system is not in use. I want to use ProcessWire's API and in particular the Include & Bootstrap method to output contents -- pretty much in the same way you do, if contents is stored in a MySQL database and output in PHP files that use PDO to load data.
The issue is that I cannot get ProcessWire to fully work on each of the "sub-domains".
> You can do anything with ProcessWire's API that you can do from a template,
> so all of this still applies, as does everything in the developer API.
How can I get access to variables such as $input when using Include & Bootstrap?
I tried these:
$wire->pages->get("/foo/bar/"); echo "Segment1: " . $wire->input->urlSegment1; # Returns null $wire->pages->get("/foo/bar/"); echo "Segment1: " . $wire->input()->urlSegment1; # Internal Server Error $p = $wire->pages->get("/foo/bar/"); echo "Segment1: " . $p->input->urlSegment1; # Returns null $p = $wire->pages->get("/foo/bar/"); echo "Segment1: " . $p->input()->urlSegment1; # Returns null @ryan Can the API Variables documentation be updated with a section / an example that explain how to use "Include & Bootstrap" for each variable (since this is a really strong feature in ProcessWire)?
$page $pages - Example: $homepage = $wire->pages->get("/"); $input $sanitizer $session $fields $user $log $templates $config
Maybe I'm missing something here, but I'm haveing a hard time to get absolute urls if PW is installed in a subdirectory thought the API...
I need an absolute URL for the backend (as a redirect url of Oauth provider). To build the url i would normaly use
url()->root.url()->admin – but this results in the install-path beeing present twice;
domain.com/path/ + path/admin/
In order to not use $_SERVER['HTTP_HOST'] I fetch the admin page from pages – but this is also not to easy since I need to remove the root folder from path as well. My current solution is somewhat complicated:
$backendUrl = pages()->get('path="'.str_replace(urls()->root, '', urls()->admin).'", include=all')->httpUrl; The above code seems to be the savest way to get the absolute url to the backend using pure PW API, am I right?
It would be great if one could fetch absolute urls with something like this
$backendUrl = urls()->admin->httpUrl // or $backendUrl = httpUrls()->admin
Thank you @adrian – of course this HAD to be simpler:
I'm working on a page and it's showing up differently when I'm logged in. It's not that a field is set to private or anything, because it's still pulling data from that field. It looks like the "public" view is simply using an old version of the template (home.php), and the logged-in view is using the current version of home.php. See attached screenshots.
Is there something that caches template files? Is there a way to force it to use the most recent version of the template?
EDIT: I found the Pro Cache module and cleared it. That seemed to help.