Q&A

CMS/프레임워크 Rhymix 1.9
개발 언어 PHP 7.2

SEO 커버이미지가 아니라 첫째 이미지를 보여주는 현상

 

<head>

...

<meta property="og:image" content="{커버이미지를 무시하고 첫째 첨부이미지 링크}">

....

</head>

 

/classes/display/HTMLDisplayHandler.php : 484~524

        // Add image.

        if ($page_type === 'article' && $permitted && config('seo.og_extract_images'))

        {

            if (($document_images = Rhymix\Framework\Cache::get("seo:document_images:$document_srl")) === null)

            {

                $document_images = array();

                if ($oDocument->hasUploadedFiles())

                {

                    foreach ($oDocument->getUploadedFiles() as $file)

                    {

                        if ($file->isvalid !== 'Y' || !preg_match('/\.(?:bmp|gif|jpe?g|png)$/i', $file->uploaded_filename))

                        {

                            continue;

                        }

                        list($width, $height) = @getimagesize($file->uploaded_filename);

                        if ($width < 100 && $height < 100)

                        {

                            continue;

                        }

                        $image = array('filepath' => $file->uploaded_filename, 'width' => $width, 'height' => $height);

                        if ($file->cover_image === 'Y')

                        {

                            array_unshift($document_images, $image);

                        }

                        else

                        {

                            $document_images[] = $image;

                        }

                        if (count($document_images) >= 1)

                        {

                            break;

                        }

                    }

                }

                Rhymix\Framework\Cache::set("seo:document_images:$document_srl", $document_images);

            }

        }

        else

        {

            $document_images = null;

        }

 

이미지 배열의 값이 하나 이상이면 루프를 끝내라는 부분이 존재

첨부파일 루프 이상. 중간에 첨부된 커버 이미지에 도달하기도 전에 첫째 이미지만 배열에 들어간 상태에서 루프가 종료되도록 되어 있음. 주석처리.
 
급한 마음에 코어를 수정하긴 했는데, 이렇게 처리해도 괜찮은지 궁금합니다.
 

댓글 0