从数据库(joomla)中按 ID 获取介绍图片

Get intro image by ID from database (joomla)

我正在尝试从 joomla 数据库中读取介绍图片。我有一个产品列表,每个产品都需要显示与产品 ID 匹配的介绍图片。

//  content
$content            = "SELECT * FROM `snm_content` WHERE catid = 13";
$contentcon         = $conn->query($content);
$contentcr          = array();
while ($contentcr[] = $contentcon->fetch_array());

$img = $contentcr[0]['images'];

$plaatje = explode('/', $img);

$plaatje = explode('"', $plaatje[2]);

$plaatje = $plaatje[0];

$img = preg_replace('/[^a-zA-Z0-9\']/', '_', $img);

$img = explode('___', $img);

$img = $img[1];

然后在 foreach 中输入以下代码:

<img src="cms/images/website/'.$plaatje.'" alt="" class="company_logo">

虽然这显示了每个产品的相同图像。

我阅读了一些关于 json_decode 的内容以从数据库字段中获取图像路径。

如何为每个产品获取正确的图像?

以下代码打印出正确的数组:

print_r($content['images']);

数据库中包含所有可能图像(介绍、完整等)的字段示例

{"image_intro":"images\/website\/Airco_blog.jpg","float_intro":"","image_intro_alt":"","image_intro_caption":"","image_fulltext":"","float_fulltext":"","image_fulltext_alt":"","image_fulltext_caption":""}

我想这对你有用:

$article_images = $content['images']      // Get image parameters of the article

$pictures = json_decode($article_images); // Split the parameters apart

echo "<img src='" . $pictures->{'image_intro'} . "' alt='" . $pictures->{'image_intro_alt'} . "'>"; // get the intro image

// 编辑了您的 post 以修复图片标签。

我遇到了同样的问题。我试图让 Twitter 添加我的 link 就像 facebook 自动添加一样,但不得不在此处调查 CARD Validator https://cards-dev.twitter.com/validator ...我在 Joomla 3.9.11 上工作的方式是添加此代码在我的模板头部 default.php ... 我能够正确添加标题、描述和正确的图片,通常是文章的第一张。

<head>

<?php 
//Added for TWITTER
$option = JRequest::getCmd('option');
$view = JRequest::getCmd('view');
if ($option=="com_content" && $view=="article") {
    $ids = explode(':',JRequest::getString('id'));
    $article_id = $ids[0];
    $article =& JTable::getInstance("content");
    $article->load($article_id);
    $theArticle = $article->get("title");
    $theImages = $article->get("images");   
    $pictures = json_decode($theImages); // Split the parameters apart
    $timage= "http://yourdomain.com/".$pictures->{'image_intro'};
}
$doc =& JFactory::getDocument();
$doc->addCustomTag( '
<meta name="twitter:title" content="'.mb_strimwidth(strip_tags($theArticle),0,225, " ...").'"=""/>
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:site" content="yoursite">
<meta name="twitter:creator" content="yourcreator">
<meta name="twitter:url" content="'.JURI::current().'">
<meta name="twitter:description" content="'.mb_strimwidth(strip_tags($doc->getMetaData( 'description' )),0,225, " ...").'"=""/>
<meta name="twitter:image" content="'.$timage.'">
');
?>
    <jdoc:include type="head" />
    <?php $this->loadBlock('head') ?>

</head>