Je rends dans une vue autonome un objet TypoScript avec cObject ViewHelper. Cet objet TS obtient tt_content à partir d'autres pages actuellement. Mais le résultat a les marqueurs INT_SCRIPT et pas le contenu réel.Comment rendre INT_SCRIPT dans StandaloneView?
voici mon code sur la façon de faire le point de vue autonome, le modèle et le TypoScript:
contrôleur Intérieur:
public function renderStandaloneView($template = 'View/Show', $variables = array(), $fileExt = 'html', $noCache = TRUE) {
if ($noCache === TRUE) $GLOBALS['TSFE']->set_no_cache();
// Get standalone view
$configuration = $this->configurationManager->getConfiguration(ConfigurationManagerInterface::CONFIGURATION_TYPE_FRAMEWORK);
$view = $this->objectManager->get(StandaloneView::class);
$view->getRequest()->setControllerExtensionName($this->extensionName);
$view->setFormat($fileExt);
$view->setLayoutRootPaths($configuration['view']['layoutRootPaths']);
$view->setPartialRootPaths($configuration['view']['partialRootPaths']);
$view->setTemplateRootPaths($configuration['view']['templateRootPaths']);
$view->setTemplate($template);
// Render view
$view->assignMultiple($variables);
return $view->render();
}
TypoScript:
lib.myContent = COA
lib.myContent {
10 = CONTENT
10 {
table = tt_content
select {
orderBy = sorting
where = 0
where.wrap = colPos=|
pidInList.field = uid
}
}
}
Fluide:
<f:for each="{myvars}" as="myvar" iteration="it">
<f:cObject typoscriptObjectPath="lib.myContent" data="{uid:'{myvar.uid}'}" />
</f:for>
Je ne peux pas changer tous les éléments non attachés (comme les éléments de contenu/plugins) sur ces pages à mettre en cache.
Alors, comment puis-je analyser la vue autonome, y compris le contenu non mis en cache et ne pas insérer les marqueurs INT_SCRIPT?
Merci pour tout!
Je ne pense pas que cela va résoudre l'ensemble de votre problème, mais quand même vous devriez commencer à supprimer '$ GLOBALS [ « TSFE »] -> set_no_cache()' de votre méthode. Cela désactivera tout le cache de page pour la demande en cours. N'utilisez pas ce 'set_no_cache' pour ** n'importe quoi ** que vous voulez libérer dans la nature! – undko
Merci pour cet indice. Je l'ai changé. Comme prévu, cela n'a pas résolu mon problème. – HR123
J'ai essayé de comprendre ce que vous essayez de faire ici au cours des 10 dernières minutes. Sans résultat. Cette condition: if ($ noCache === TRUE) $ GLOBALS ['TSFE'] -> set_no_cache(); de toute évidence ne peut pas travailler. Parce que si votre contenu est mis en cache une fois, la condition ne sera même plus vérifiée. L'appel à ExtensionUtility :: configurePlugin dans votre ext_localconf.php définit, par action, si le contenu est mis en cache. – j4k3