Simpla CMS: названия изображений без хеша
Решение принадлежит DaVinci и большая ему благодарность за это.
Решение позволяет избавиться от хеша в названии изображения, что позволит изображениям залетать в индекс поисковых систем. Базовое имя у изображений весьма кривое:
В стандарной симпле адрес изображения имеет абракадабру на конце:
8b8a7e13a7e2e5a7ee9f
Чтобы от него изобавиться нужно открыть /resize/resize.php и закомментировать:
/*
if(!$simpla->config->check_token($filename, $token))
exit('bad token');
*/
Далее открываем Design.php и добавим в функцию public function resize_modifier после переменных $resized_filename и $resized_filename_encode:
$size = ($width?$width:0).'x'.($height?$height:0).($set_watermark?"w":'');
$image_sizes = array();
if($this->settings->image_sizes)
$image_sizes = explode('|',$this->settings->image_sizes);
if(!in_array($size, $image_sizes)){
$image_sizes[] = $size;
$this->settings->image_sizes = implode('|',$image_sizes);
}
В этой же функции ниже нужно закомментировать хвост у строчки:
return $this->config->root_url.'/'.$this->config->resized_images_dir.$resized_filename_encoded/*.'?'.$this->config->token($resized_filename)*/;
Далее открываем файл Image.php и в функцию function resize добавить после конструкции list:
$size = ($width?$width:0).'x'.($height?$height:0).($set_watermark?"w":'');
$image_sizes = array();
if($this->settings->image_sizes)
$image_sizes = explode('|',$this->settings->image_sizes);
if(!in_array($size, $image_sizes)){
header("http/1.0 404 not found");
exit();
}
Всё. Теперь все изображения без абракадабры на конце.