@Dovator

Очень нужна помощь с сайтом на Yii?

Друзья, очень нужна помощь по сайту на Yii. Сам сайт chistov.biz - не реклама. Суть вопроса в том, что на большинстве страниц (например Аренда спецтехники, Строительные Материалы, Клининговые услуги) есть возможность поставить вверху страницы виджет из админки (форма уже сделана до меня) - т.е. на каждой странице мы видим одинаково стилизованные картинки кружочки с Названием. Но как сделать эти картики и кружочки ссылками!? В админке такой опции нет. Например на странице Аренда спецтехники эта функция реализована, а на странице клининговые услуги - нет. Сломал всю голову, уже в БД лазил - ничего не нашел. С Yii - познакомился пару дней назад.

Ниже скрин. Суть в том, что этот модуль с картинками кружочками добавляется перед каждой созданной страницей через админку. Все параметры модуля корректируются вручную (Название, картинка цена и т.д.), но как проставить ссылку? Я же когда создаю новую страницу с модулем - все получается без ссылок.

На одной странице каждый заголовок и кружочек не является ссылкой - на другой является. В админ панели есть форма заполнения этого модуля, шаблона, виджета - но нет возможности сделать заголовок и кружочки/картинки ссылками.5c924790b1e45672648392.jpeg

Ниже код отвечающий за вывод виджета:
<?
function mb_lcfirst($value)
{
return mb_strtolower(mb_substr($value, 0, 1)) . mb_substr($value, 1);
}

if (isset($element)) {?>

"><?=$catalog["name"];?> /
<?=$element["name"];?>
<?} else {?>
<?=$catalog["name"];?>
<?}?>

<?if (isset($element)) {
$photos = explode('~',$element['photos']);
$photo_main = str_replace('.jpg','_m.jpg',$photos[0]);
?>

<?if ($photo_main) {?>
: <?=mb_lcfirst($element["name"]);?>" />
<?}?>

<?
$params = explode(PHP_EOL,$element["params"]);
if (count($params)) {?>
НаименованиеЦена
<?=$param[0];?><?=$param[1];?>

<?}?>

<?
unset($photos[0]);
if (count($photos)) {?>
<?foreach($photos as $photo){?>

<?}?>
<?}?>
<?=$element['preview'];?>

<?}elseif (count($elements)){?>
<?
$i=0;
foreach($elements as $element){
$link = $page["link"].$element['link'].'/';
$preview = explode('~',$element['photos']);
$preview = str_replace('.jpg','_s.jpg',$preview[0]);

$params = explode(PHP_EOL,$element["params"]);
?>
<?/*=(($i)?'':'');*/?>

style="min-height: 360px;"<?}?>>
<?if (($element['root'] == 8 || $element['root'] == 13) && ($element['id'] < 47)) {?>
<?=$element['shortname'];?>
<?} else {?>
<?=$element['name'];?>
<?}?>

<?if ($preview) {?><?if (($element['root'] == 8 || $element['root'] == 13) && ($element['id'] < 47)) {?><?}?>width="100px" <?}?>src="<?=$preview;?>" alt="...<?}?><?} else {?> <?}?>


<?if ($element['price']) {?>

Цена:
<?=$element['price'];?>

<?}?>
<?if ($element['root'] != 8 && $element['root'] != 13) {?><?=$element['preview'];?><?}?>
<?if (count($params) && $element['root'] == 9) {?>

<?foreach($params as $param){if (!$param) continue;$param = explode(":",$param);?>
<?=$param[0];?>: <?=$param[1];?>
<?}?>

<?}?>




<?$i++;}?>

<?=$page["text"];?>

<?} else {?>

<?=$page["text"];?>

<?}?>

Элемент, который необходимо сделать ссылкой, имеет id=16, где мне его необходимо вписать в код и каким образом?
  • Вопрос задан
  • 133 просмотра
Решения вопроса 1
@Dovator Автор вопроса
Никита K Никита K Автор вопроса
Мы - это пользователи.
Ниже скрин. Суть в том, что этот модуль с картинками кружочками добавляется перед каждой созданной страницей через админку. Все параметры модуля корректируются вручную (Название, картинка цена и т.д.), но как проставить ссылку? Где подчеркнуто красным - это ссылки. Я же когда создаю новую страницу с модулем - все получается без ссылок.
Ссылку на сайт специально дал - довольно таки сложно описывать этот элемент словами. Вопрос немного в другом. Проще всего сказать, что это не WP - я и сам это прекрасно знаю. Обернуть Где обернуть то - вот в чем вопрос. Отправить читать мануал - просто верх мастерства - Хотя бы раз перейдя на сайт, который я указал в вопросе - было бы понятно, что за ХЗ кружочки.
Написано 7 минут назад

5c91c64ddc7f2089259226.jpeg

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

Нашел код отвечающий за вывод виджета

<?
function mb_lcfirst($value)
{
return mb_strtolower(mb_substr($value, 0, 1)) . mb_substr($value, 1);
}

if (isset($element)) {?>

"><?=$catalog["name"];?> /
<?=$element["name"];?>
<?} else {?>
<?=$catalog["name"];?>
<?}?>

<?if (isset($element)) {
$photos = explode('~',$element['photos']);
$photo_main = str_replace('.jpg','_m.jpg',$photos[0]);
?>

<?if ($photo_main) {?>
: <?=mb_lcfirst($element["name"]);?>" />
<?}?>

<?
$params = explode(PHP_EOL,$element["params"]);
if (count($params)) {?>
НаименованиеЦена
<?=$param[0];?><?=$param[1];?>

<?}?>

<?
unset($photos[0]);
if (count($photos)) {?>
<?foreach($photos as $photo){?>

<?}?>
<?}?>
<?=$element['preview'];?>

<?}elseif (count($elements)){?>
<?
$i=0;
foreach($elements as $element){
$link = $page["link"].$element['link'].'/';
$preview = explode('~',$element['photos']);
$preview = str_replace('.jpg','_s.jpg',$preview[0]);

$params = explode(PHP_EOL,$element["params"]);
?>
<?/*=(($i)?'':'');*/?>

style="min-height: 360px;"<?}?>>
<?if (($element['root'] == 8 || $element['root'] == 13) && ($element['id'] < 47)) {?>
<?=$element['shortname'];?>
<?} else {?>
<?=$element['name'];?>
<?}?>

<?if ($preview) {?><?if (($element['root'] == 8 || $element['root'] == 13) && ($element['id'] < 47)) {?><?}?>width="100px" <?}?>src="<?=$preview;?>" alt="...<?}?><?} else {?> <?}?>


<?if ($element['price']) {?>

Цена:
<?=$element['price'];?>

<?}?>
<?if ($element['root'] != 8 && $element['root'] != 13) {?><?=$element['preview'];?><?}?>
<?if (count($params) && $element['root'] == 9) {?>

<?foreach($params as $param){if (!$param) continue;$param = explode(":",$param);?>
<?=$param[0];?>: <?=$param[1];?>
<?}?>

<?}?>




<?$i++;}?>

<?=$page["text"];?>

<?} else {?>

<?=$page["text"];?>

<?}?>

Нужный элемент, который необходимо сделать ссылкой имеет id - 16 Где и каким образом его добавить в код?
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
webinar
@webinar Куратор тега Yii
Учим yii: https://youtu.be/-WRMlGHLgRg
на каждой странице мы видим одинаково стилизованные картинки кружочки с Названием

кто такие мы? Что за кружочки? Хоть бы скрин дали.

В админке такой опции нет

Это не wp. Не обязательно все в админке есть и если чего нет, то нет проблем это туда добавить.

Но как сделать эти картики и кружочки ссылками!?

хз какие кружочки, но наверняка обрамив в тег <a href="">кружочек</a>
В чем проблема найти тем же поиском или разобравшись в структуре приложения Вашего? К yii есть отличная документация: https://www.yiiframework.com/doc/guide/2.0/ru/stru...

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

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы