it-swarm-eu.dev

Dove query nel componente Joomla - quale file posso modificare?

Ok, quindi sono completamente nuovo su Joomla e sto provando a modificare i file sorgente di un componente che ho creato usando component-creator.com .

Ho un database che memorizza dati diversi per più utenti diversi e desidero progettare diverse viste in cui l'utente che ha effettuato l'accesso può visualizzare solo i dati associati al proprio nome utente nel database. Attualmente, ogni utente può visualizzare un elenco dei dati di ogni altro utente nel database, il che è inaccettabile per motivi di sicurezza. Presumo che in qualche modo sia necessario recuperare l'ID utente della sessione corrente e utilizzare una query WHERE per filtrare la vista elenco fino alle sole voci del database associate a quell'ID utente.

Prima di tutto, quali file devo modificare? Component-creator sembra suggerire qui che ho bisogno di modificare viste/studenti/view.html.php , mentre alcuni altri i forum sembrano indicare modelli/studenti.php . modelli/studenti.php sembra già avere diverse query SQL con clausole concatenate e WHERE, ma volevo assicurarmene.

In secondo luogo, come posso recuperare e/o passare l'ID utente della sessione corrente? Devo in qualche modo passare quella variabile da views/studenti/tmpl/default.php , oppure posso recuperarla direttamente dall'interno modelli/students.php ?

Qualsiasi intuizione è apprezzata. Grazie!

2
Nathanael

Come probabilmente hai già raccolto, Joomla è un sistema di gestione dei contenuti MVC (modello, controller di visualizzazione), quindi le tue query di database si troveranno nel modello:

models/students.php

Per quanto riguarda i dati dell'utente corrente, è possibile ottenere oggetto utente corrente in questo modo:

$user = JFactory::getUser();

O se è l'ID sessione effettivo che desideri ottenere:

$session = JFactory::getSession();
echo $session->getId();

Entrambi i quali è possibile accedere in qualsiasi parte del componente, quindi sì, incluso il modello.

Spero che sia di aiuto

2
Lodder