Referencing a template for Thread Creation process?

Igneous

Participant
Joined
Dec 4, 2016
Messages
64
I'd like to call a template as I would like to be able to modify the output and it doesn't sit right with me to hard-code it in the script.

I've tried the following snippet of code below but it can't find anything named 'template'. I've checked and I don't think it can be referenced like phrases can? But there has to be a way.. :/

PHP:
$message = \XF::template('application_author_thread');
  • Error: Call to undefined method XF::template()
  • src/addons/Custom/Applications/Pub/Controller/Applications.php:85
  • Generated by: Igneous
  • Aug 4, 2018 at 7:00 PM
Stack trace
#0 src/XF/Mvc/Dispatcher.php(249): Custom\Applications\Pub\Controller\Applications->actionSave(Object(XF\Mvc\ParameterBag))
#1 src/XF/Mvc/Dispatcher.php(88): XF\Mvc\Dispatcher->dispatchClass('Custom\\Applicat...', 'Save', 'json', Object(XF\Mvc\ParameterBag), '', Object(Custom\Applications\Pub\Controller\Applications), NULL)
#2 src/XF/Mvc/Dispatcher.php(41): XF\Mvc\Dispatcher->dispatchLoop(Object(XF\Mvc\RouteMatch))
#3 src/XF/App.php(1931): XF\Mvc\Dispatcher->run()
#4 src/XF.php(328): XF\App->run()
#5 index.php(13): XF::runApp('XF\\Pub\\App')
#6 {main}
Request state
array(4) {
["url"] => string(17) "/application/save"
["referrer"] => string(43) "https://dev.XXXXXX.com/application/"
["_GET"] => array(1) {
["/application/save"] => string(0) ""
}
["_POST"] => array(7) {
["game_ids"] => array(2) {
[0] => string(1) "6"
[1] => string(1) "1"
}
["country"] => string(11) "United States"
["comments"] => string(0) ""
["_xfToken"] => string(8) "********"
["_xfRequestUri"] => string(13) "/application/"
["_xfWithData"] => string(1) "1"
["_xfResponseType"] => string(4) "json"
}
}


PHP:
$forumId = '4'; // This is the application forum
        $userId = $application['user_id']; // Grab the user ID from the table
        $title = "Application - ".$application['username']; // Hardcoded title
        $message = 'Example contents'; // Should reference the username, comments and country.
     
        $forum = \XF::em()->find('XF:Forum', $forumId);
        $user = \XF::em()->find('XF:User', $userId);
        \XF::asVisitor($user, function() use ($forum, $title, $message)
        {
            $creator = \XF::service('XF:Thread\Creator', $forum);
            $creator->setContent($title, $message);
            $creator->setPrefix('4'); // sets prefix to 'Pending'.
            $creator->setIsAutomated();
            $creator->save();
        });
I've also been trying to capture the thread ID upon creation (so that it can be stored in the database and can be used for a response at a later date!) but that is a whole other issue, unfortunately.
 
Top