Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
  • Sign Up

Recommended Posts

Всем здравствуйте.

Помогите решить вопрос с обрезкой части слов из урл.

Есть урл такого вида 

<?php echo $thumb; ?> то есть там получается такой путь https://site.ru/image/cache/adaptive/catalog/blog/main_test-100x200.jpg

Нужно вырезать из ссылки cashe/adaptive и -100x200

В итоге ссылка должна быть такого вида

https://site.ru/image/catalog/blog/main_test.jpg

Заранее благодарен!

Edited by pimur
Link to post
Share on other sites

3 минуты назад, chukcha сказал:

хе, но там должен лежать файл
 

Файл там лежит 100%

Объясню что это.

В статьях модуля марка, у статьи есть картинка, если ее нет, то и не выводится в статье.

Так как стоит словие

<?php if ($thumb) { ?>
<?php echo $thumb; ?>
<?php } ?>

Мне нужно вытащить урл картинки из кеша и получить из нее оригинал.

<?php if ($thumb) { ?>
<!--Получаю урл картинки-->
<?php $str = $thumb; ?>
<!--Тут надо вырезать определенные слова, которые записанны -->
<?php $str = preg_replace('!^cashe/adaptive?:/!i', '', $str); ?>
<?php echo $str; ?>

<script type="text/javascript">
	$(document).ready(function(){
		var block = $('#bg-record__image'),
            //Тут уже буду получать нужную картинку обрезанную заранее
			image = '<?php echo $str; ?>';
	});
</script>
<?php } ?>

 

Link to post
Share on other sites

Guest

Прикольно.. А не пробовали всё это сделать в контроллере где ещё дело до кэша не дошло?)))

Мда..

Edited by Guest
Link to post
Share on other sites
<?php
$str = 'https://site.ru/image/cache/adaptive/catalog/blog/main_test-100x200.jpg';
echo preg_replace('(cache\/adaptive\/|\-100x200)', '', $str);
?>

так?

  • +1 2
Link to post
Share on other sites
25 минут назад, nexus сказал:

Прикольно.. А не пробовали всё это сделать в контроллере где ещё дело до кэша не дошло?)))

Мда..

У марка в блоге есть возможность указывать tpl шаблоны, смысл лезть в контроллер его не имеет смысла. Я понимаю, что надо это делать для шаблона или модуля на продажу, или вообще по правилам хорошего тона. Не суть.

4 минуты назад, AlexDW сказал:

<?php
$str = 'https://site.ru/image/cache/adaptive/catalog/blog/main_test-100x200.jpg';
echo preg_replace('(cache\/adaptive\/|\-100x200)', '', $str);
?>

так?

Большое спасибо! Плюсанул!

Link to post
Share on other sites

3 минуты назад, AlexDW сказал:

по регуляркам - есть отличный сайт https://regex101.com/

И за это спасибо! Добавил в закладки.

Тему можно закрыть Спасибо @AlexDW

Link to post
Share on other sites

не понятно зачем регулярка
str_replace(array('cache/adaptive/','-100x200'),'',$str)

 

но тогда непонятен зачем resize, если есть известный путь

 


 

  • +1 1
Link to post
Share on other sites
не понятно зачем регулярка
str_replace(array('cache/adaptive/','-100x200'),'',$str)
 
но тогда непонятен зачем resize, если есть известный путь
 

 
Спасибо за совет.

По умолчанию все картинки resize получают в товарах, категориях, статьях. Тут ничего нового.
Разве можно получить урл картинки в tpl без объявления в controller ?
Условно не хотелось лезть в controller модуля сеокмс, ради того что бы вывести картинку статьи в background
Немного костыль но может.
Или есть более извращённое решение получить для любой статьи в пользовательском tpl картинку по прямому пути?

Отправлено через Tapatalk

Link to post
Share on other sites

7 часов назад, pimur сказал:

Или есть более извращённое решение

 

это вам уже к павликам на консультацию записываться :ugeek:

 

по-правильному - формировать ссылку на оригинал в самом контроллере

желательно отдельным модификатором, на случай обновления модуля

 

а вообще - лучше уточнить у @markimax , возможно в его мега-комбайне и такое предусмотрено ;)

  • +1 1
Link to post
Share on other sites
8 часов назад, pimur сказал:

Разве можно получить урл картинки в tpl без объявления в controller ?

ну ... не ресазить, а сразу формировать

  • +1 1
Link to post
Share on other sites
В 19.02.2018 в 02:15, pimur сказал:

Спасибо за совет.

По умолчанию все картинки resize получают в товарах, категориях, статьях. Тут ничего нового.
Разве можно получить урл картинки в tpl без объявления в controller ?
Условно не хотелось лезть в controller модуля сеокмс, ради того что бы вывести картинку статьи в background
Немного костыль но может.
Или есть более извращённое решение получить для любой статьи в пользовательском tpl картинку по прямому пути?

Отправлено через Tapatalk
 

Сразу на пряму в контроллере (без подключение tool/image и использования функции resize

 

$data['image_url'] = DIR_IMAGE . 'catalog/blog/main_test.jpg';

(Или через if (file_exists) как с ресайзом, только без него)

 

А ище можно не костыльно, чтоб например вставляеш картинку в админке и название картинки - подставлялось в переменную и если нет картинки, то пустой бекграунд(заглушка);

 

И в tpl: <img src="<?php echo $image_url; ?>" /> .....

 

  • +1 1
Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.