Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   onmouseover в smarty (https://javascript.ru/forum/events/53155-onmouseover-v-smarty.html)

ureech 23.01.2015 03:13

onmouseover в smarty
 
Здравствуте. В смарти шаблоне имею ссылку, которая запрятана в переменной {$test} и корнями уходит в ядро движка. Но нужно применить к ней data-title. Выход вижу в onmouseover. Подскажите как это правильно реализовать?

danik.js 23.01.2015 07:43

Цитата:

Сообщение от ureech
в ядро движка

Если кусок html спрятан в движке, то это не движок, это дерьмецо. Накой тогда разрабы используют шаблонизатор?
Решение - избавиться от дерьма, юзать нормальный двиг :)
А может ты просто не разобрался?

krasovsky 23.01.2015 11:58

Ну, либо ты найдешь вариант переопределить эту переменную\вывести себе другую переменную\использовать нормальный движок.
Либо, черезжопные варианты: найти способ на серваке распарсить эту переменную,этж строка, и вставить в нее свой дата. Либо уже в хтмл через js делать тоже самое - по загрузке например страницы искать нужный элемент и курочить его в свое удовольствие.

Но я так понимаю, ты используешь phpшный smarty? Просто сомнительно что ты где то такое нашел в коде этого движка. Может быть это не в нем а в каком нибудь veiw- model-файле определено? Это уж совсем другое дело получается.

ureech 23.01.2015 13:30

Шаблон смарти.Такой код
{foreach key=tid item=thread from=$threads}
<div class="data_for" >{$thread.last_msg_array.thread_link}</div>
 <td colspan="3"><div class="data">{$thread.last_msg_array.content_html|strip_tags|truncate:200}</div></td>
{/foreach}

.data{
display:none;
position:absolute;
width:200px;
height:auto;
right:-100px;
top:100px;
background:#fff;
z-index:999;
}
.data_in{
display:inline;
}

здесь в переменной
{$thread.last_msg_array.thread_link}

передаётся ссылка, принаведении на которую делаю видимым класс .data
$(document).ready(function (){
    var o=$('.data_for');
    var b=$('.data');
    o.mouseover(function (){
        $(".data").addClass('data_in');
    });
    o.mouseout(function (){
        $(".data").removeClass('data_in');
    });
});

Но при наведении на любую ссылку {$thread.last_msg_array.thread_link} отображаюися данные первой переменной {$thread.last_msg_array.content_html|strip_tags|tr uncate:200}. Как поправить можно это дело?


Часовой пояс GMT +3, время: 07:56.