2016-12-04 3 views
0

У меня есть контроллер в контроллерах папку с именем AdController и мое имя действияЗапрашиваемый вид не был найден в TYPO3

/** 
* action ajaxValue 
* 
* @param string $argument 
* @return void 
*/ 
public function ajaxValueAction($argument = NULL) { 

} 

и мой файл шаблона на местоположение ресурсов/Private/Templates/объявления /ajaxValue.html с именем ajaxValue.html

{namespace t=Helhum\TyposcriptRendering\ViewHelpers} 

<f:layout name="Default" /> 



This Template is responsible for creating a table of domain objects. 

If you modify this template, do not forget to change the overwrite settings 
in /Configuration/ExtensionBuilder/settings.yaml: 
Resources: 
Private: 
Templates: 
List.html: keep 

Otherwise your changes will be overwritten the next time you save the extension in the extension builder 

<f:section name="main"> 
    <f:debug title="Results of customers query">{ads}</f:debug> 
    <f:flashMessages /> 

    <!-- Category selection box --> 


    <!-- This is basically called a ajax request which is based on some other file take from the following link http://ajax.helmut-hummel.de/ 

->

<div id="dataJson" data-url="{t:uri.ajaxAction(action: 'ajaxValue', format: 'json', controller: 'Ad', pluginName: 'Txcasmarketing') -> f:format.htmlentities()}"></div> 

    <div class="container"> 
     <div class="btn-group"> 
      <a class="btn btn-primary dropdown-toggle" data-toggle="dropdown" href="#">Select Category<span class="caret"></span></a> 
      <ul class="dropdown-menu"> 
       <f:for each="{categories}" as="category"> 
        <li> 
         <a data-catUid="{category.uid}" href="#">{category.name}</a> 
        </li> 
       </f:for> 
      </ul> 
     </div> 
    </div> 

Я получаю следующую ошибку

<p><strong>Sorry, the requested view was not found.</strong></p> <p>The technical reason is: <em>No template was found. View could not be resolved for action "ajaxValue" in class "CASmarketing\Casmarketing\Controller\AdController"</em>.</p> 

Значение по умолчанию шаблонов, которые были созданы с помощью расширения строителя доступны. структура моего ex_localconf.php является

\TYPO3\CMS\Extbase\Utility\ExtensionUtility::configurePlugin(
     'CASmarketing.Casmarketing', 
     'Txcasmarketing', [ 
      'State' => 'list, show, new, create, edit, update, delete', 
      'Category' => 'list, show, new, create, edit, update, delete', 
      'Ad' => 'list, ajaxValue, show, new, create, edit, update, delete' 
     ], 
     // non-cacheable actions 
     [ 
      'State' => 'create, update, delete', 
      'Category' => 'create, update, delete', 
      'Ad' => 'create, update, delete' 
     ] 
); 
}, $_EXTKEY 
); 

и мой файл шаблон на местоположение ресурсов/Templates/Ad/ajaxValue.html

с именем ajaxValue.html

и моим step.ts файл сидение

plugin.tx_casmarketing_txcasmarketing { 
    view { 
    templateRootPaths.0 = EXT:casmarketing/Resources/Private/Templates/ 
    templateRootPaths.1 =    { 
    $plugin.tx_casmarketing_txcasmarketing.view.templateRootPath} 
    partialRootPaths.0 = EXT:casmarketing/Resources/Private/Partials/ 
    partialRootPaths.1 = { 
     $plugin.tx_casmarketing_txcasmarketing.view.partialRootPath} 
    layoutRootPaths.0 = EXT:casmarketing/Resources/Private/Layouts/ 
    layoutRootPaths.1 = { 
$plugin.tx_casmarketing_txcasmarketing.view.layoutRootPath} 
} 
persistence { 
    storagePid = { 
    $plugin.tx_casmarketing_txcasmarketing.persistence.storagePid} 
    #recursive = 1 
    } 
features { 
    #skipDefaultArguments = 1 
    } 
    mvc { 
    #callDefaultActionIfActionCantBeResolved = 1 
     } 
      } 

мой файл сценария, который в основном называется запрос Ajax, который определяют в pageLayout.js

$ («раскрывающийся меню литий а»). Нажмите (функция() {

var jsonUrl = $('#dataJson').attr('data-url') 
    var selectedCatUid = $(this).attr('data-catUid'); 

    $.ajax({ 
     type: 'POST', 
     url: jsonUrl, 
     data: { 
      'tx_casmarketing_txcasmarketing[catId]': selectedCatUid 
     }, 
     success: function (response) { 
      alert(response); 
     }, 
    }); 
+0

Я меняю его на капитал, он все тот же, и я записал свой файл step.ts. он не принимает никаких других действий, кроме тех, которые были вызваны расширителем? – zahid

ответ

0

Не знал, что это имеет значение, но имя файла, как правило, в верхнем регистре. Вы также должны убедиться, что параметры typoscript настроены для этого каталога.

+0

Я меняю его на капитал, он все тот же, и я записал свой файл step.ts. он не принимает никаких других действий, кроме тех, которые были вызваны расширителем? – zahid

+0

Ваш ext_localconf верен, иначе вы получите еще одну ошибку. Ваш синтаксис typoscript неверен. В .1 вложен {, но вы не можете этого сделать, потому что это не объект typoscript с вложением, который вы должны вставить прямо в путь. –

+0

Ah wait Я вижу, что он постоянный, но он должен быть без интервала между {s ​​ –

0

Ваш TypoScript должен правильно выглядеть следующим образом:

plugin.tx_casmarketing_txcasmarketing { 
    view { 
    templateRootPaths.0 = EXT:casmarketing/Resources/Private/Templates/ 
    templateRootPaths.1 = {$plugin.tx_casmarketing_txcasmarketing.view.templateRootPath} 

    partialRootPaths.0 = EXT:casmarketing/Resources/Private/Partials/ 
    partialRootPaths.1 = {$plugin.tx_casmarketing_txcasmarketing.view.partialRootPath} 

    layoutRootPaths.0 = EXT:casmarketing/Resources/Private/Layouts/ 
    layoutRootPaths.1 = {$plugin.tx_casmarketing_txcasmarketing.view.layoutRootPath} 
    } 

    persistence { 
    storagePid = {$plugin.tx_casmarketing_txcasmarketing.persistence.storagePid} 
    #recursive = 1 
    } 

    features { 
    #skipDefaultArguments = 1 
    } 

    mvc { 
    #callDefaultActionIfActionCantBeResolved = 1 
    } 
} 

Если изменить это в вашем setup.txt расширения это вряд ли в кэше, и вы должны очистить кэш в установке инструмента. Убедившись, что ваш typoscript правильно загружен, сначала создайте новый шаблон Views внутри шаблона шаблона ext-directory, чтобы попробовать его.

Если это не поможет, пожалуйста, сообщите нам содержимое вашего шаблона HTML.

+0

Мой файл stepup.ts точно написан, как, что вы упомянули в комментариях вверх. . Ничего не изменилось ..... я могу упомянуть файл шаблона. в основном в файле List.html есть окно с раскрывающимся списком, и я выбираю значение, а затем запрос ajax переходит к контроллеру, и контроллер должен выполнить запрос, чтобы вернуть значение в другой файл шаблона или точно такой же list.html с обновленное значение. я могу обновить свой главный вопрос, вы можете увидеть полное описание в том, как я вызываю контроллер из шаблона списка ..... – zahid

+0

Я объясню, что моя проблема может быть вам более понятна ... – zahid

1

Ваш шаблон не должен быть в Resources/Templates/Ad/ajaxValue.html, но в Resources/Private/Templates/Ad/AjaxValue.html. Обратите внимание: Частная папка. Также он должен быть UpperCase.

+0

уже в Ресурсы/Частные/Шаблоны/Ad/AjaxValue.html могут моя ошибка, я не упоминал об этом ... – zahid

+0

Я объясняю далее, что моя проблема может быть более ясной для вас ... Я упоминаю свой файл шаблона – zahid

+0

Возможно ли это, общаться с тобой. вы можете точно увидеть мою проблему? это была бы ваша доброта ... – zahid

Смежные вопросы