Перейти к публикации

UnknownUser

новички
  • Публикации

    4
  • Зарегистрирован

  • Посещение

Сообщения, опубликованные пользователем UnknownUser

  1.  

    15 minutes ago, celsoft said:

    И ...? Ту функциональность что вы пишите делает в этой функции одна строчка:

    
    $this->data[$name] = $var;

    Где в ней изменения между этими версиями?

     

    Никаких багов в данном вопросе нет, иначе бы половина стандартных тегов DLE у вас выводилась бы, а не только ваши правки. В данном случае ваши правки не работают корректно.

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

    $tpl->load_template(/*шаблон*/);
    $tpl->set('{user_id}', '');
    $tpl->clear();
  2. 8 minutes ago, celsoft said:

    Ничего подобного. Никаких изменений в данном вопросе в скрипте нет. И все должно также заменяться как и всегда, что собственно и делается.

     

    Это значит что ваша строка $tpl->set('{user_id}', ''); не выполнялась в принципе.  Например не туда поставили куда нужно. Тег остается на месте, только если нет никаких кодов которые бы его обработали. Или например тег в шаблоне и ваш тег в PHP коде отличаются. Например русская буква e и латинская визуально одинаковы и ошибиться при написании легко.

    Изменения не производились там, где находятся подобные сточки. Проблемы с заменой появилось сразу же после обновления.

    Сама функция set была изменена.

    До 13.0:

    	function set($name, $var) {
    		if( is_array( $var ) && count( $var ) ) {
    			foreach ( $var as $key => $key_var ) {
    				$this->set( $key, $key_var );
    			}
    		} else
    		
    			$var = str_ireplace( "{include", "{include",  $var );
    			$var = str_ireplace( "{custom", "{custom",  $var );
    			$var = str_ireplace( "{content", "{content",  $var );
    			$var = str_ireplace( "[xf", "[xf",  $var );
    			
    			$this->data[$name] = $var;
    	}

    В 13.0:

    	function set($name, $var) {
    		
    		if( is_array( $var ) ) {
    			if( count( $var ) ) {
    				foreach ( $var as $key => $key_var ) {
    					$this->set( $key, $key_var );
    				}
    			}
    			return;
    		}
    		
    		$var = str_replace(array("{", "["),array("_{_", "_[_"), $var);
    			
    		$this->data[$name] = $var;
    		
    	}

     

  3. Здравствуйте.

    До версии 13.0 даже при присваивании тегу пустой строчки он заменялся на пустоту. Сейчас же в подобном случае тег появляется на странице.

    Пример:

    $tpl->set('{user_id}', '');

    Результат на странице до версии 13.0 - пустота.

    Результат на странице в версии 13.0 - {user_id}

    Хотел бы узнать, было ли так изначально задумано. Если да, то в связи с какими причинами.

     

×
×
  • Создать...