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
Kod 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
Kod 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
Kod:
<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>