I'd like to access Zenphoto's template functions within a MODx snippet as per the
Zenphoto as a 'plugin' user guide article. But I'm running into some trouble with
MODx Revolution 2.0.7-pl and
Zenphoto 1.4.0.2 (installed in the `/zenphoto/` directory)
I've attempted adding the suggested
constant definitions and a
require_once statement for the Zenphoto `template-functions.php` file to a
chunk which is then included in the
template.
The chunk:
`
define('WEBPATH', 'zenphoto');
define('ZENFOLDER', 'zp-core');
require_once(WEBPATH . "/" . ZENFOLDER . "/template-functions.php");
`
The snippet:
`
$randomImage = getRandomImages();
echo '
getSizedImage(getOption('image_size')) . '" alt="random image - ' . $randomImage->getTitle() . '" />';
`
This attempt returns the following (anonymised) error:
`Fatal error: Call to a member function getSizedImage() on a non-object in /home/username/domain.ca/core/cache/elements/modsnippet/46.include.cache.php on line 9`
The same code in a standalone PHP file returns a random image successfully.
Someone found a solution for Evo back in 2008 by adding the constant definitions and require statement in the MODx `index.php` file. I understand this isn't a great solution but I attempted it anyway with expectedly no success.
Does anyone have any suggestions on how to get this working?
Comments
"local" to the function.
If you can figure out which varialbles this is happening to you can declare them global in your code snippit.
Are the variables to which you refer located in the template-functions.php file?
The best thing would be to figure out how to launch Zenphoto from not within a function call. (This is how Zenphoto does launch its plugins so that they do not suffer this issue.)
And for clarification to those familiar with MODx, the suggestion that I used a chunk was a typo. I have in fact used a snippet for the PHP code.