Osavul

Рейтинг
76
Регистрация
23.09.2014
edogs:
Osavul,
Это немного извращенческий варинт, но

Сейчас определяет так как нужно, но выдаются также предупреждения:


Strict Standards: Only variables should be passed by reference in C:\OpenServer\domains\test2.loc\index.php on line 25
C1


Strict Standards: Only variables should be passed by reference in C:\OpenServer\domains\test2.loc\index.php on line 25
C2
Дикий пионер:
http://php.net/manual/ru/function.get-class.php и get_called_class() пробовали?

Тот же результат: имя B


public function set()
{
return $this->name = get_class($this);
}
Оптимизайка:
Это я и имел ввиду - значит у вас уже так и есть. Тогда непонятно, зачем передавать в compl имя шаблона main.tpl, когда в методе load он становится известен и вся работа уже проводится там?

Это связано с тем что мне нужно идентифицировать каждое compl своему шаблону, потому что если этого не сделать и рассматривать код в целом, происходят не контролированные подмены идентичных тегов в шаблонах. А нужно каждому шаблону html принадлежать только свои теги.

Ну например если взять выше мой пример можно увидеть тег [%info%] который встречается в двух модулях Login и Main, что в конечном результате приводит перезапись перемены из $this->skn->compl('[%info%]', 'INFORM222');

в $this->skn->compl('[%info%]', 'INFORM');

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

Оптимизайка:
А вы сделайте, чтобы compl не "собирал тэги", а просто составлял массив (член класса вашего шаблонизатора) для замен в будущем. А метод load потом по этому массиву пусть "собирает", после чего делает что раньше делал.

Не совсем понял что Вы имеете ввиду. По сути все методы compl в шаблонизаторе создает свойство- массив $this->skn->data;



public function skn($name, $var)
{
$this->data[$name] = $var;
//var_dump(get_called_class());
}

далее происходить замены на основе массива $this->data в строке которая получена с помощью метода : load('main.tpl');

VertuOzz, Спасибо, то что надо!

proksey-net:
а так?

А так все в одну строку и там где раньше были пустые строки сейчас идут пробелы

Оптимизайка:
проще конечно сделать саму <button id="btn-yes">Yes</button> ссылкой (стилизовать под кнопку).

ну а вообще:

$("#btn-yes").click(function() {
window.location.href = $("#send").attr("href");
return false;
});

А если у меня есть допустим 20-30 ссылок и все имеют id = "send", но разные адреса href, как тогда осуществлять переход по нужному адресу (то есть переход по той ссылки по которой кликнули до появления диалогового окна)?

---------- Добавлено 26.06.2015 в 15:40 ----------

kostyanet, интегрировал ваш код по ссылке https://jsfiddle.net/vu9n7j3f/2/ у себя, выдает ошибку.

kostyanet, Спасибо за функцию, но хотелось бы использовать способ полного разделения, без использования в коде HTML кода JS. То есть по определенным id элементов, отдельно в js-файле строится сценарий. Возможно ли так сделать?

дани мапов:
Код js надо вниз, после формы. Или используйте

$( document ).ready(function() {
// код здесь
});

Спасибо теперь все прекрасно работает. Но у меня а файле с JS есть отдельный код - который отвечает за переключение вкладок:


var $j = jQuery.noConflict();
$j(document).ready(function() {
$j('ul.tabs1 li').css('cursor', 'pointer');
$j('ul.tabs1 li').click(function(){
var thisClass = this.className.slice(0,2);
$j('div.t1').hide();
$j('div.t2').hide();
$j('div.t3').hide();
$j('div.t4').hide();
$j('div.' + thisClass).show();
$j('ul.tabs1 li').removeClass('tab-current');
$j(this).addClass('tab-current');
});
});

когда этот кот присутствует в файле тогда скрипт очистки не работает:


$( document ).ready(function() {
$(":input[type=button]","#searchform").click(function() {
$(this).closest('form').find(':input','option:selected')
.not(':button, :submit, :reset, :hidden')
.val('')
.removeAttr('checked')
.removeAttr('selected');
});
});
дани мапов:
jquery надо подключить http://web-answers.ru/questions-and-answers/javascript/jquery/kak-podklyuchit-jquery/

Подключил:

<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>

Но ситуация прежняя - скрипт не работает

Всего: 51