Перейти к публикации
Поиск в
  • Дополнительно...
Искать результаты, содержащие...
Искать результаты в...

PHP to TWIG converter


markimax
 Поделиться

Рекомендованные сообщения

Коллеги посоветуйте нормальный online конвертер php с html в twig
Потому что https://php2twig.com г .. редкостное.

Элементарных конструкций правильно обработать не может

Запарился я уже "руками" все шаблоны "конвертировать" :ugeek:

 

  • +1 1
Ссылка на комментарий
Поделиться на других сайтах

Не тестил еще

 

__://openconverter.io/

 

Проверил, тоже лажа, линк не удаляю может допилят

Изменено пользователем Yurta
Ссылка на комментарий
Поделиться на других сайтах

Ссылка на комментарий
Поделиться на других сайтах


12 минут назад, AWARO сказал:

а этот?)
https://phptotwig.com/

 

Уже более менее ...
Давай еще :)

Ссылка на комментарий
Поделиться на других сайтах

Только что, markimax сказал:

Уже более менее ...
Давай еще :)

обновил пост выше
пока больше ни чего не обнаружил)

Ссылка на комментарий
Поделиться на других сайтах


18 минут назад, Yurta сказал:

Не тестил еще

 

__://openconverter.io/

 

Проверил, тоже лажа, линк не удаляю может допилят

Да лажа :(
Пока более менее корректно работает https://phptotwig.com/
Но переменные массивов не корректно раздупляет

Ссылка на комментарий
Поделиться на других сайтах

  • 1 год спустя...
В 23.07.2017 в 11:54, markimax сказал:

Пока более менее корректно работает https://phptotwig.com/
Но переменные массивов не корректно раздупляет

тоже лажу гонит

php:      

<?php if ($round_mode==3)  { ?> value  = value.toFixed(3); <?php } ?>

на выходе:

      {% if (round_mode == 3) %} value  = value.toFixed(3); {% endif %} 

результат: PHP Fatal error:  Uncaught exception 'Twig_Error_Syntax' with message 'Unexpected token "number" of value "3" ("name" expected)

перелопачиваем код, меняем везде  if на swith с case-ами:

и получаем такой код:

              swith( round_mode )
                 3 value  = value.toFixed(3);

 

 

 

Ссылка на комментарий
Поделиться на других сайтах

6 минут назад, ambalocha69 сказал:

<?php if ($round_mode==3)  { ?> value  = value.toFixed(3); <?php } ?>

ЧТО ЭТО за php

код от js?

Хм должно быть корректно

Ссылка на комментарий
Поделиться на других сайтах

3 минуты назад, chukcha сказал:

ЧТО ЭТО за php

код от js?

да, это php внутри js

последний вариант работает

Ссылка на комментарий
Поделиться на других сайтах

  • 1 год спустя...
В 23.07.2017 в 11:54, markimax сказал:

Пока более менее корректно работает https://phptotwig.com/

 

С глюками работает и сейчас.

Не может корректный с точки зрения PHP код c else и вложенными if переложить на twig.

Полный идиотизм - использование twig в опенкарт, особенно в админке.

 

Приходится логичный и отлаженный код PHP переводить в это нелогичное чудо-юдо. И снова отлаживать.

Плюсов от twig-а - ноль, зато геморроя в разработке добавляет.

 

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

Ссылка на комментарий
Поделиться на других сайтах

25 минут назад, sitecreator сказал:

 

С глюками работает и сейчас.

Не может корректный с точки зрения PHP код c else и вложенными if переложить на twig.

Полный идиотизм - использование twig в опенкарт, особенно в админке.

 

Приходится логичный и отлаженный код PHP переводить в это нелогичное чудо-юдо. И снова отлаживать.

Плюсов от twig-а - ноль, зато геморроя в разработке добавляет.

 

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

 

Это для того чтобы не было фрагментации, т. е. чтобы в tpl не вызывали "классы" их методы и т.п.
Так что в принципе все правильно
А в админ части вы можете спокойно использовать tpl
 

$this->config->set('template_engine', $this->config->get('template_engine')); // т.e. чтобы стандартные twig
	        
$this->data['header'] = $this->load->controller('common/header');
$this->data['footer'] = $this->load->controller('common/footer');
$this->data['column_left'] = $this->load->controller('common/column_left');
			
$this->config->set('template_engine', 'template');	
$html = $this->load->view($this->template, $data); // свои как tpl
$this->response->setOutput($html);

 

Ссылка на комментарий
Поделиться на других сайтах

@markimax , гребаный конвертер и кривые руки его создателя!

 

вот понятный код PHP

var thumb = "<?php if(!empty($thumb)) echo $thumb;?>";

 

конвертер превратил его в фиг знает что:

 

var thumb = "{% if (thumb is not empty) %} {{ thumb }}{% endif %}";

 

Из-за этого нифига не работает!   Он влепил лишний пробел!   Какого лешего?

 

sitecreator_ru_P3HTmmAxaQ.jpg

 

И это очень сложно отслеживать!

 

2 часа назад, markimax сказал:

А в админ части вы можете спокойно использовать tpl

 

да только так и надо.

А эти конвертеры - на помойку!  Элементарные вещи преобразовать корректно не могут.

Ссылка на комментарий
Поделиться на других сайтах

Указать в вызываемом шаблоне расширение .tpl

 

public function index(&$route, &$args) {
		// This is only here for compatibility with old templates
		if (substr($route, -3) == 'tpl') {
			$view = substr($route, 0, -3);
		}
		
		if (is_file(DIR_TEMPLATE . $route . '.twig')) {
			$this->config->set('template_engine', 'twig');
		} elseif (is_file(DIR_TEMPLATE . $route . '.tpl')) {
			$this->config->set('template_engine', 'template');
		}		
	}

Это код события

вот это нужно править

 

<?php
class ControllerEventTheme extends Controller {
	public function index(&$route, &$args) {
		// This is only here for compatibility with old templates
		if (substr($route, -4) == '.tpl') {
			$view = substr($route, 0, -4);
		}
		
		if (is_file(DIR_TEMPLATE . $route . '.twig')) {
			$this->config->set('template_engine', 'twig');
		} elseif (is_file(DIR_TEMPLATE . $view . '.tpl')) {
			$this->config->set('template_engine', 'template');
		}		
	}
}

 

Ссылка на комментарий
Поделиться на других сайтах

10 минут назад, sitecreator сказал:

А эти конвертеры - на помойку!  Элементарные вещи преобразовать корректно не могут.

:) Напиши лучше

Ссылка на комментарий
Поделиться на других сайтах

  • 3 месяца спустя...

а может кто знает как наоборот twig в php конвертнуть, а то че то гугл только односторонние варианты подсовывает пхп в твиг?

Ссылка на комментарий
Поделиться на других сайтах


  • 2 месяца спустя...
В 23.07.2017 в 11:36, AWARO сказал:

 

Ссылка на комментарий
Поделиться на других сайтах


  • 3 месяца спустя...
В 17.01.2020 в 01:53, AWARO сказал:

тоже безбожно глючит

на входе

             <?php } ?>
                addFunction (<?php echo $option_row; ?>,<?php echo $option_value_row; ?>,html);

на выходе

addFunction({{ option_row }}{% endif %},{{ option_value_row }},html);

 

пол-дня угробил перелопачивая несчастных 100 строк

  • +1 1
Ссылка на комментарий
Поделиться на других сайтах

1 час назад, ambalocha69 сказал:

тоже безбожно глючит

да.. есть такое.

Ссылка на комментарий
Поделиться на других сайтах


  • 2 года спустя...
On 11/5/2019 at 11:44 AM, borborich said:

а может кто знает как наоборот twig в php конвертнуть, а то че то гугл только односторонние варианты подсовывает пхп в твиг?

https://sloth-dev.com/twig2tpl

Ссылка на комментарий
Поделиться на других сайтах


Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас
 Поделиться

  • Сейчас на странице   0 пользователей

    • Нет пользователей, просматривающих эту страницу.
×
×
  • Создать...

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.