Powiedzcie mi, da się wprowadzić jakieś zabezpieczenie, dzięki któremu jeśli użytkownik z poziomu strony będzie chciał dodać artykuł o takim samym tytule jaki już istnieje wyświetli się komunikat typu: "Artykuł o takim samym tytule już istnieje"?
Powiedzcie mi, da się wprowadzić jakieś zabezpieczenie, dzięki któremu jeśli użytkownik z poziomu strony będzie chciał dodać artykuł o takim samym tytule jaki już istnieje wyświetli się komunikat typu: "Artykuł o takim samym tytule już istnieje"?
A przypadkiem edytor Joomla! nie zgłosi problemu z powieleniem aliasu na bazie tytułu?
To kwestia wersji Joomla! A dasz radę wprowadzić drobne modyfikacje w kodzie Joomla! czy koniecznie chcesz dodatek ?
"Twoja strategia jest do bani (głównie dlatego, że nie poświęcasz jej wystarczająco dużo czasu)" - Mitch Joel
Haha, nie musi być dodatek, poradzę sobie z modyfikacją kodu. Tylko powiedzcie, który plik mam edytować i co dokładnie w nim zmienić?
Jeżeli programujesz, to nie powinien to być dla Ciebie probelm. Zmodyfikuj sobie metodę save w kontrolerze com_content (article). np:
Następnie dodaj metodę checkItemTitle() do modelu article, który sprawdzi czy artykuł o danych parametrach już istnieje np.:Kod PHP:
// Load the backend helper for filtering.
require_once JPATH_ADMINISTRATOR.'/components/com_content/helpers/content.php';
// start modify
$model = $this->getModel('article');
if(!$model->checkItemTitle()) return false;
// end modify
$result = parent::save($key, $urlVar);
Nie sprawdzałem działania. Tylko podpowiadam rozwiązanieKod PHP:
public function checkItemTitle(){
$jinput = JFactory::getApplication()->input;
$formData = $jinput->get('jform','','array');
$title = $formData['title'];
$this->_db->setQuery("SELECT * FROM #__content WHERE title='".$title."'");
$check = $this->_db->loadObject();
if(isset($check->id)) return false;
return true;
}
"Twoja strategia jest do bani (głównie dlatego, że nie poświęcasz jej wystarczająco dużo czasu)" - Mitch Joel