Пользовательское мета-описание Codeigniter для групп - PullRequest
0 голосов
/ 24 октября 2018

Прежде всего, извините за вопрос, я не знаком с php, но я провел 4 дня, борясь с подобными угрозами и читая их, и теперь мне нужна ваша помощь:

Я купил созданный веб-сайтс codeigniter, который имеет global site_head, мета-описание определяется следующим образом:

<meta name="DESCRIPTION" content="<?=$description?>">

, а переменная description заменяется названием поста - для групп (категорий) иотдельные страницы.

Я создал дополнительную строку в таблице групп (категорий) с помощью php my admin - my_meta_desc в папке просмотра при вводе: <?=$group['my_meta_desc']?> - мое мета-описание отображается так, как должноДа, но my_meta_desc у меня есть только для категорий, и если я заменю

<meta name="DESCRIPTION" content="<?=$description?>">

на

<meta name="DESCRIPTION" content="<?=$group['my_meta_desc']?>">

Все страницы, кроме категорий, будут с пустым описанием.

Возможно ли иметь некоторые, если funciton - определяющий, используется ли groups / images.php (это файл представления) для использования <?=$group['my_meta_desc']?> и для всего остального <?=$description?> - наsite_head.php?


Из моего исследования описание определено в файле моделей с именем template.php в папке моделей:

    if(empty($desc)) $desc = $site_info['meta_description'];
    $data['description'] = $desc;

$ site_info ['meta_description'] - это мета-описание для индексной страницы и используется только там (и, конечно, все страницы без мета-описания)

Я просто не могу найти, где определен $ desc - какие-нибудь подсказки?- потому что, как я уже объяснил, для отдельных страниц мета-описание - это заголовок сообщения, включенный в таблицу базы данных, - ' images ' row ' text ', а для категорий - в таблице базы данных ' groups 'row' name '

Контроллер группы существует, но он не содержит ничего, связанного с $ desk или $ description.

IБуду признателен за любые предложения

Template.php - находится в папке моделей:

   function Load($file,$data,$title,$type='public',$desc='',$block_index=0){
    global $admin_row, $user_row, $lang_array, $l, $lf, $site_info, $sidebar_groups_inc;

    if(!isset($sidebar_groups_inc)){
        $sidebar_groups_inc = array();
    }
    $data['sidebar_groups'] =  $sidebar_groups_inc;

    if($type == 'admin'){
        $title = "Админ Панел - ".$title;
    }

    if($type == 'public'){
        $languages = $lang_array;

        $data['languages'] = $languages;

        if($user_row['login'] == 1){
            $data['nf_header']=array();
            $get = imysql_adapted_query("select notifications.*, timediff(concat(curdate(), ' ', curtime()), concat(date)) as hours from notifications where user = '".$user_row['id']."' order by `read` asc, id desc limit 0,5");
            if($get){
                while($row = imysql_adapted_fetch_array($get)){
                    $data['nf_header'][] = $row;
                }
            }

            foreach($data['nf_header'] as $val){
                if($val['read'] == 0) {
                    $data['mark_notifications'][] = $val['id'];
                }
            }

        }

        $data['pages']=array();
        $get_pages = imysql_adapted_query("select id, name_".$lf." as name from pages where cat = '3' order by id asc");
        if($get_pages){
            while($row = imysql_adapted_fetch_array($get_pages)) {
                $data['pages'][] = $row;
            }
        }

    }

    $data['title'] = $this->Title($title);
    $data['file'] = $type."/".$file;
    $data['admin'] = $admin_row;
    $data['user'] = $user_row;
    //      $data['path'] = $data['path'];

    if(empty($key)) $key = $site_info['meta_keywords'];

    if(empty($desc)) $desc = $site_info['meta_description'];
    $data['description'] = $desc;
    $data['keywords'] = $key;
    $data['block_index'] = $block_index;



    $data['data'] = $data; // TODO: Fix the need for this shitty reference !!!
    $this->load->view($type.'/site_head',$data);

Ответы [ 2 ]

0 голосов
/ 26 октября 2018

Наконец-то я понял:

<meta name="DESCRIPTION" content="<meta name="DESCRIPTION" content="<? if($groups){  echo  $group['my_meta_desc'];
     } else {
      echo $description;} ?>">
0 голосов
/ 24 октября 2018

Просто сделай:

<meta name="DESCRIPTION" content="<?php echo isset($group['my_meta_desc']) ? $group['my_meta_desc'] : $description ?>">
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...