Не нравятся результаты поиска? Попробуйте другой поиск!
dle-faq.ru FAQ (все вопросы) Общие вопросы по PHP Как исправить тайтл в модуле "Биография актеров"?

Как исправить тайтл в модуле "Биография актеров"?


     11.02.2016    Общие вопросы по PHP, Модули    465

вопрос
Поставил модуль "Биография актеров" на DLE 10.6, вроде бы работает. Но при клике по актеру в тайтл не подставляется имя актера в фильмах которых от участвует. Например получается: "Все фильмы с участием" и все. Но если актер есть в базе, то получается нормально "Все фильмы с участием Том Хенкс". Как сделать, что бы в тайтле было имя актера даже если его нет в базе данных? А то автор не выходит на связь. Помогите пожалуйста..

Ковырять нужно в самом конце, в районе кода:
$a_title = "Все фильмы с участием " . $actors[$a_name];

Ответил: Sander


$a_title = "Все фильмы с участием " . $actors[$a_name];

Заменить на
$a_title = "Все фильмы с участием " . ($actors[$a_name]?$actors[$a_name]:$a_name);

Комментарии пользователей (4)

benassi
7

benassi - 13 февраля 2016 16:59 - Юзер

SANDER немного не то(( Теперь если биографии актера нет в базе то получается так: "Все фильмы с участием tom-hardi", если есть то: "Все фильмы с участием Том Харди". Что не так?
Список актеров хранится в базе (таблица dle_post, поле actors) в таком виде:
a:10:{s:17:"leonardo-dikaprio";s:33:"Леонардо ДиКаприо";s:9:"tom-hardi";s:17:"Том Харди";s:12:"donal-glison";s:23:"Донал Глисон";s:12:"uill-poulter";s:23:"Уилл Поултер";s:12:"pol-anderson";s:23:"Пол Андерсон";s:10:"lukas-haas";s:19:"Лукас Хаас";s:11:"bred-karter";s:21:"Брэд Картер";s:16:"kristoffer-yoner";s:31:"Кристоффер Йонер";s:16:"brendan-fletcher";s:29:"Брендан Флетчер";s:15:"grace-dove-syme";s:15:"Grace Dove Syme";}

Sander
1126

1637 | 1204

Sander - 13 февраля 2016 17:39 - Эксперт

Ну тогда так...
if(!isset($actors[$a_name])){
  $actr = $db->super_query("SELECT actors FROM dle_post WHERE actors LIKE '%\"{$a_name}\"%'");
  if($actr['actors']){
    $actr['actors'] = unserialize($actr['actors']);
    $actors[$a_name] = $actr['actors'][$a_name];
  }
  if(!$actors[$a_name]) $actors[$a_name] = $a_name;
}
$a_title = "Все фильмы с участием " . $actors[$a_name];


UPD. Хотя не, этот вариант не подойдет, там не в таком виде данные хранятся...

SanDev.pro - мой блог.

ICQ: 404-037-556
Skype: Sander8804

benassi
7

benassi - 13 февраля 2016 22:43 - Юзер

Sander, огромное спасибо, кажется заработало) Скиньте в личку номер кошелка, хоть на пиво вам дам.

Sander
1126

1637 | 1204

Sander - 13 февраля 2016 22:48 - Эксперт

Z753504041409
R300061514559

SanDev.pro - мой блог.

ICQ: 404-037-556
Skype: Sander8804

Чтобы комментировать - войдите или зарегистрируйтесь на сайте

Похожие вопросы