public function getArticleById(int $id)
{
/** @var \Joomla\Database\DatabaseDriver $db */
$db = Factory::getContainer()->get('DatabaseDriver');
$query = $db->getQuery(true)
->select('*')
->from($db->quoteName('#__content'))
->where($db->quoteName('id') . ' = :id')
->bind(':id', $id, \Joomla\Database\ParameterType::INTEGER);
try
{
$db->setQuery($query);
return $db->loadObject();
}
catch (\RuntimeException $e)
{
return false;
}
}
will return an object with all article fields.
Wen somewhere do checks for images...
$id = 99;
$data = $this->getArticleById($id);
$images = json_decode($data->images, true);
$introImage =
count($images) ? $images['image_intro'] : '';
if (!empty(
$introImage))
{
// Image found, do something