PDA

Zobacz pełną wersję : [Rozwiązane] View not found [name, type, prefix]



Ambroz
01-12-2020, 14:12
Hej.
Trafiłem na dość dziwny problem, który sprawia, że skrypt nie działa mi na serwerze, a na lokalnym działa bez zarzutu.
Do jednego z komponentów dodałem w folderze view kolejny folder do którego włożyłem view.html.php oraz katalog tmlp z plikiem default.php.
Kiedy próbuje potem dostać się do tego pliku poprzez url dostaję taki komunikat:

View not found [name, type, prefix]: GetUsers, html, catalogueView
/domena/libraries/src/MVC/Controller/BaseController.php:847

Jeśli potrzeba dalszego doprecyzowania to proszę o konkretne pytania.
P.S służyć to miało temu by można było w szybki sposób przeszukiwać bazę użytkowników.

Plik default.php


<?php
defined('_JEXEC') or die('Restricted access');

header('Content-Type: application/json');
$db = JFactory::getDbo();
if (isset($_POST['searchTerm'])) {
$search = $_POST['searchTerm'];
$query = $db->getQuery(true);
$query->select(array('a.id', 'a.name AS text'))
->from($db->quoteName('#__users', 'a'))
->where($db->quoteName('a.name') . " LIKE '%" . $search . "%'");
$db->setQuery($query);
$return = $db->loadAssocList();
echo json_encode($return);
exit;
}


Plik view.html.php


use Joomla\CMS\Factory;

class CatalogueViewgetusers extends JViewLegacy{

public function display($tpl = null){

if (count($errors = $this->get('Errors'))) {
JError::raiseError(500, implode('<br />', $errors));

return false;
}

parent::display($tpl);
}

}


Skrypt, który ma pobierać dane z dafault.php


<script type="text/javascript">
jQuery(document).ready(function() {

jQuery('#selUser').select2({
ajax: {
url: '/administrator/index.php?option=com_catalogue&view=GetUsers',
type: 'post',
dataType: 'json',
data: function(params){
return{
searchTerm: params.term
};
},
processResults: function (response){
return{
results: response
};
},
cache: true
}
});
});
</script>

siristru
02-12-2020, 20:48
Klasa nazywa się "CatalogueViewgetusers" a widok "GetUsers". Czy to nie ma związku?
Masz widok "GetUsers w katalogu?

Ambroz
03-12-2020, 07:33
W views był katalog GetUsers, ale trafiłeś. Wczoraj okazało się, że przynajmniej na serwerze linuxowym ważna jest wielkość liter, więc katalog teraz nazywa się getusers, a klasa CatalogueViewGetusers i teraz to działa.

Bazyl
03-12-2020, 09:09
"Dzięki" obcięło...