Smarty Resource directory

Я использую smarty для своего последнего личного проекта и столкнулся с проблемой.

$smarty = new Smarty;
$smarty->template_dir = 'templates/dashboard/';

Вышеприведенное заставляет загружать файлы .tpl из этого каталога, это прекрасно работает для меня, но внутри .tpl я хочу загрузить изображение и мне нужно сделать:

<img src="templates/dashboard/images/avatar/full/{$user->username}.jpg" class="profile-avatar img-thumbnail">

То, что я хотел бы сделать, но не сработает, это:

<img src="https://web-answers.ru/wp-content/uploads/2019/03/avatar/full/{$user->username}.jpg" class="profile-avatar img-thumbnail">

Я думал, когда я устанавливаю template_dir, это тоже изменится, но это не так …
Я не мог найти документацию, где я могу изменить это для файла .tpl.

обратите внимание на ‘templates / dashboard’, это то, от чего я хочу избавиться внутри .tpl

0

Решение

Во-первых, вы не должны помещать изображения в ту же папку, где находятся ваши шаблоны. Изображения должны быть помещены в общую папку (обычно public или же public_html) и код сайта может быть размещен в другом каталоге, который недоступен из Интернета.

Поэтому перенесите ваши файлы в другую папку, потому что структура, которая у вас сейчас есть, определенно доставит вам неприятности.

Но если вы все еще хотите использовать такую ​​структуру, вы можете просто присвоить Smarty новую переменную с указанием пути, который вы хотите использовать:

$smarty->assign('ip', $smarty->template_dir);

и теперь в вашем шаблоне вы можете использовать:

<img src="{$ip}images/avatar/full/{$user->username}.jpg" class="profile-avatar img-thumbnail">
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]