본문으로 건너뛰기

관리자 SEO 페이지 로드 안정성 개선

PHP 8 · GODO26
변경 파일 수: 4개
변경 파일 목록
총 4개
변경 파일 코드
추가삭제
Admin/policy/base_seo.php+2-2
변경 전base_seo.php
<tr>
<th>PC 쇼핑몰</th>
<td class="form-inline">
http://<?=$data['mallDomain']?>/<input type="text" name="errPage[front]" value="<?php echo $data['errPage']['front']; ?>" class="form-control width-lg"/>
</td>
</tr>
<tr>
<th>모바일 쇼핑몰</th>
<td class="form-inline">
<?=$data['mallMobileDomain'] ?? URI_MOBILE?><input type="text" name="errPage[mobile]" value="<?php echo $data['errPage']['mobile']; ?>" class="form-control width-lg"/>
</td>
</tr>
</table>
 
변경 후base_seo.php
<tr>
<th>PC 쇼핑몰</th>
<td class="form-inline">
http://<?=$data['mallDomain']?>/<input type="text" name="errPage[front]" value="<?php echo $data['errPage']['front'] ?? ''; ?>" class="form-control width-lg"/>
</td>
</tr>
<tr>
<th>모바일 쇼핑몰</th>
<td class="form-inline">
<?=$data['mallMobileDomain'] ?? URI_MOBILE?><input type="text" name="errPage[mobile]" value="<?php echo $data['errPage']['mobile'] ?? ''; ?>" class="form-control width-lg"/>
</td>
</tr>
</table>
 
Component/Policy/Policy.php+3-1
변경 전Policy.php
 
// rss처리
if (Request::files()->has('rss') === true) {
$setRssData = gd_policy('basic.seo')['rss'];
 
 
foreach (Request::files()->get('rss')['tmp_name'] as $key => $val) {
// 사이트맵 저장 화일명
$rssFileName = 'rss' . ucwords($key) . '.xml';
 
변경 후Policy.php
 
// rss처리
if (Request::files()->has('rss') === true) {
// 정책 데이터가 깨진 상점에서 배열이 아닌 값이 올 수 있어 방어
$seoPolicy = gd_policy('basic.seo');
$setRssData = is_array($seoPolicy) ? ($seoPolicy['rss'] ?? []) : [];
foreach (Request::files()->get('rss')['tmp_name'] as $key => $val) {
// 사이트맵 저장 화일명
$rssFileName = 'rss' . ucwords($key) . '.xml';
 
Controller/Admin/Policy/BaseSeoController.php+15-6
변경 전BaseSeoController.php
// 사이트맵 설정
$data['sitemap'] = gd_policy('basic.sitemap');
 
 
 
gd_isset($data['sitemap']['sitemapAutoFl'],"n");
$checked['sitemap']['sitemapAutoFl'][$data['sitemap']['sitemapAutoFl']] = 'checked="checked"';
//RSS 설정 ,페이지 경로 설정 , 대표URL 설정 , 연관채널 설정
$seoData = gd_policy('basic.seo', $mallSno);
$data['rss'] = $seoData['rss'];
$data['errPage'] = $seoData['errPage'];
$data['canonicalUrl'] = $seoData['canonicalUrl'];
$data['relationChannel'] = gd_array_filter($seoData['relationChannel']);
 
 
 
 
 
 
$checked['rss']['useFl'][$data['rss']['useFl']] = $checked['errPage']['useFl'][$data['errPage']['useFl']] = $checked['canonicalUrl']['useFl'][$data['canonicalUrl']['useFl']] = 'checked="checked"';
} catch (Exception $e) {
//echo $e->getMessage();
}
// --- 관리자 디자인 템플릿
 
변경 후BaseSeoController.php
// 사이트맵 설정
$data['sitemap'] = gd_policy('basic.sitemap');
if (!is_array($data['sitemap'])) {
$data['sitemap'] = [];
}
gd_isset($data['sitemap']['sitemapAutoFl'],"n");
$checked['sitemap']['sitemapAutoFl'][$data['sitemap']['sitemapAutoFl']] = 'checked="checked"';
//RSS 설정 ,페이지 경로 설정 , 대표URL 설정 , 연관채널 설정
$seoData = gd_policy('basic.seo', $mallSno);
if (!is_array($seoData)) {
$seoData = [];
}
$data['rss'] = $seoData['rss'] ?? [];
$data['errPage'] = $seoData['errPage'] ?? [];
$data['canonicalUrl'] = $seoData['canonicalUrl'] ?? [];
$data['relationChannel'] = gd_array_filter($seoData['relationChannel'] ?? []);
$data['rss']['useFl'] ??= 'n';
$data['errPage']['useFl'] ??= 'n';
$data['canonicalUrl']['useFl'] ??= 'n';
$checked['rss']['useFl'][$data['rss']['useFl']] = $checked['errPage']['useFl'][$data['errPage']['useFl']] = $checked['canonicalUrl']['useFl'][$data['canonicalUrl']['useFl']] = 'checked="checked"';
} catch (\Throwable $e) {
\Logger::channel('adminLog')->error(__METHOD__, ['exception' => $e]);
}
// --- 관리자 디자인 템플릿
 
Controller/Front/RssController.php+3-2
변경 전RssController.php
*/
public function index()
{
// RSS 설정 정보
$rssData = gd_policy('basic.seo')['rss'];
 
// 사이트맵 설정
$rssFl = true;
 
변경 후RssController.php
*/
public function index()
{
// RSS 설정 정보 (정책 데이터가 깨진 상점에서 배열이 아닌 값이 올 수 있어 방어)
$seoPolicy = gd_policy('basic.seo');
$rssData = is_array($seoPolicy) ? ($seoPolicy['rss'] ?? []) : [];
// 사이트맵 설정
$rssFl = true;