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();
        }

Всё. Теперь все изображения без абракадабры на конце.

Поделиться
Отправить
 137   2019   simplacms
Популярное