Добрый вечер.
Размещайте файлы в web директории, создайте в ней директорию по названию темы и в созданной директории images.
Получится такой путь к изображениям
app\web\themes\name_theme\images
Выводить можно будет так:
<?= Html::img('@web/themes/name_theme/images/page4_img1.jpg') ?>
Возможно в Вашем варианте тоже получится использовать псевдоним
@web
p.s.
Есть ещё пару вариантов с использованием AssetBundl для темы.
Например есть тема "Portfolio".
Файлы изображений располагаете по пути app\themes\portfolio\assets\img
В директории app\assets создаёте файл PortfolioAsset
class PortfolioAsset extends AssetBundle
{
//public $basePath = '@app/themes/portfolio/assets';
//public $baseUrl = '@app/themes/portfolio';
public $sourcePath = '@app/themes/portfolio/assets';
public $css = [
'css/bootstrap.min.css',
'css/stylish-portfolio.css',
'font-awesome/css/font-awesome.min.css',
'http://fonts.googleapis.com/css?family=Source+Sans+Pro:300,400,700,300italic,400italic,700italic'
];
public $js = [
'js/jquery.js',
'js/bootstrap.min.js',
'js/local.js'
];
public $depends = [
];
}
Подключаете этот файл в layout темы и создаёте вспомогательную переменную
$image = PortfolioAsset::register($this);
Теперь получить изображение можно так
echo Html::img($image->baseUrl.'/img/portfolio-1.jpg');
Или, в layout темы создаёте такую переменную
$theme = $this->theme;
Расскоментируете в PortfolioAsset строку
public $baseUrl = '@app/themes/portfolio';
и получаете изображение уже таким способом
echo Html::img($theme->getUrl('assets/img/portfolio-4.jpg'));
В итоге все файлы темы находятся в одном месте app\themes\name_theme\assets и не надо раскидывать их по всему проекту.