Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

А кто так делает?


anapogo

Recommended Posts

Хочу услышать мнение Людей:
Есть коммерческий проект, дорабатываю его уже с год+, они мной довольны...
Сейчас и вроде доработка небольшая. 
но сама доработка не главное, а вопрос в языках. (сайт 2-язычный - ru\uk)
Интересно, если нужно пару фраз мультиязычных вставить, обязательно-ли ВСЕ делают по ПРАвилам: контроллер->lang->.tpl
я вот смог все запихнуть в .tpl, без контроллера...(в tpl уже есть идентификатор языка)
Насколько это правильно\неправильно, интересно услышать Ваше мнение?....
 

Надіслати
Поділитися на інших сайтах


<?=($current_language_id==2 ? "Обратный звонок":"Зворотній дзвінок"); ?>

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

Змінено користувачем anapogo
Надіслати
Поділитися на інших сайтах


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

Надіслати
Поділитися на інших сайтах

23 минуты назад, halfhope сказал:

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

ну в иномарках почти так и есть :-) бывает нужно пол-машины разобрать, что-бы до свечек-то добраться:-)

согласен, оно неправильно, но когда нужно вставить 1 слово и менять 4 файла... - абсурд?

я понимаю, что не правильно, некрасиво, даже западло, но ведь мы-ж все люди(ленивые) , и мне интересно как Вы поступаете в таком случае? :-)

 

Змінено користувачем anapogo
Надіслати
Поділитися на інших сайтах


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

Не зря ведь придумали структуру и языковые пакеты

Надіслати
Поділитися на інших сайтах


prochet, я это все понимаю

но

я точно знаю, что заказчик точно не захочет..., ни завтра ни послезавтра....

но вопрос-то в том : "обязательно-ли ВСЕ делают по ПРАвилам: контроллер->lang->.tpl"

или ....    хотя-бы временно, втыкают ТАКОЕ,

там просто хозяйка женщина, и у нее каждый месяц новые веяния ;-)

ну мне-же за это платят :-) и фразу ... "а может такой КОЛОР?" я воспринимаю как премию :-)

Змінено користувачем anapogo
Надіслати
Поділитися на інших сайтах


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

<?=($current_language_id==2 ? "Обратный звонок":"Зворотній дзвінок"); ?>

 

По рукам за такое дают.
Костыли... [далее не переводимый итальянский фольклор]
А ну быстро изучать стандартизацию.
Если бы самолеты так делали не по стандартам - они бы падали как яблоки осенью

  • +1 1
Надіслати
Поділитися на інших сайтах

та знаю я "стандартизацию"

понял, переделаю раз уж САМ markimax сказал...

сам когда-то ракеты в Звездном помогал запускать....

я понимаю, что нестандартно - неправильно

а если подойти с позиции "незаменимости" вебмастера?

Ви с такм сталкивались?

 

Змінено користувачем anapogo
Надіслати
Поділитися на інших сайтах


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

а если подойти с позиции "незаменимости" вебмастера?

Ви с такм сталкивались?

Ты хочешь узнать,
1 Что будет если она захочет тебя поменять
Получиться ли у неё это, или если новый веб мастер посмотрит на этот код что он скажет(гнать в шею) и будет ли разбираться с ним.
2 Как тебе при дальнейшей работе это может аукнуться тоже сказали)
Что это не правильно ты и сам понимаешь.

 

Надіслати
Поділитися на інших сайтах


Такое ощущение сложилось, что ТС-а ужасно замучила совесть. Ведь как он сам сказал - он прекрасно понимает, что так делать не то что неправильно, а вообще нельзя.

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

 

ТС, незаменимых нету и ты не исключение. Завтра тебе кирпич на голову упадет и вот тебя нужно заменять. А потом кому-то копаться в твоём говнокоде.

Я могу понять, к примеру, если у тебя дедлайн, а у тебя еще куча нереализованных пунктов и делать всё по "фен-шую" действительно запарно. Или ты банально не знаешь как сделать правильно. Но делать это осознано, просто потому что "лень"... Хотя чего там, главное же это - "я воспринимаю как премию". Заказчик бабла заплатит и самое главное. Боюсь представить даже, что там за год "работы" сложилось в итоге, с таким отношением.

 

Надіслати
Поділитися на інших сайтах


А что здесь сложного - открываете в редакторе два языковых файла, контроллер и шаблон

Разделяете на два экрана - один из языков и шаблон

 

Сначала проставляете возле всех вписанных в шаблон слов переменные будет примерно так

<span class="top-title"><?php echo $text_top_title; ?>Ответить на сообщение</span>

В языковом пишете $_['text_top_title'] = "Ответить на сообщение"; при этом в этот же файле пишите внизу где-то заготовку для контроллера

$data['text_top_title'] = $this->language->get('text_top_title'); и т.д.

понятно что после переноса в язык надпись удаляете в шаблоне и так далее пока не переведете страницу.

Потом вместо шаблона переключаетесь на контроллер и вставляете все строки что писали для контроллера $data['text_top_title'] = $this->language->get('text_top_title');... вставили - удалили из языка.

Потом вместо контроллера открываете другой язык и просто вставляете перевод.

 

Это будет самым правильным решением. И после вас будет приятно работать т.к. все будет сделано по стандарту а не как в шаблонах от TM и PAVO

Надіслати
Поділитися на інших сайтах

Спасибо всем за высказанные нравоучения :)

Я ведь писал - понимаю, что говнокод, впринципе делал такое редко и если "срочно"

впредь постараюсь и редко не делать...

а вот как "правильно" в ajax.js получить нужную языковую переменную? 

 

 

Надіслати
Поділитися на інших сайтах


Я в таких случаях обявляю глобальную js переменную
<sript>var my_var={{ my_text }};</script>

И во внешнем скрипте (если скрипт подгружается) ее использую, это если скрипт не понимает многоязычности

Надіслати
Поділитися на інших сайтах

4 часа назад, Exploits сказал:

А что здесь сложного - открываете в редакторе два языковых файла, контроллер и шаблон

Разделяете на два экрана - один из языков и шаблон

 

Сначала проставляете возле всех вписанных в шаблон слов переменные будет примерно так

<span class="top-title"><?php echo $text_top_title; ?>Ответить на сообщение</span>

В языковом пишете $_['text_top_title'] = "Ответить на сообщение"; при этом в этот же файле пишите внизу где-то заготовку для контроллера

$data['text_top_title'] = $this->language->get('text_top_title'); и т.д.

понятно что после переноса в язык надпись удаляете в шаблоне и так далее пока не переведете страницу.

Потом вместо шаблона переключаетесь на контроллер и вставляете все строки что писали для контроллера $data['text_top_title'] = $this->language->get('text_top_title');... вставили - удалили из языка.

Потом вместо контроллера открываете другой язык и просто вставляете перевод.

 

Это будет самым правильным решением. И после вас будет приятно работать т.к. все будет сделано по стандарту а не как в шаблонах от TM и PAVO

 

Вариант "еще легче" и правильнее (согласно стандартов совместной разработки, дабы не трогать оригинальные файлы opencart, темы  чтобы можно было потом проще обновляться и все ваши изменения видели быстро коллеги )
Создаешь один файлик .ocmod (так как ocmod - это инструмент совместной разработки аля git), все правки прописываешь там
Вот это будет самым правильным решением. А тот кто давно научился так делать и самым быстрым

  • +1 2
Надіслати
Поділитися на інших сайтах

1 минуту назад, markimax сказал:

 

Вариант "еще легче" и правильнее (согласно стандартов совместной разработки, дабы не трогать оригинальные файлы opencart, темы  чтобы можно было потом проще обновляться и все ваши изменения видели быстро коллеги )
Создаешь один файлик .ocmod (так как ocmod - это инструмент совместной разработки аля git), все правки прописываешь там
Вот это будет самым правильным решением. А тот кто давно научился так делать и самым быстрым

И в правду, так будет быстрее, спасибо Markimax как всегда за ценный совет :)

Надіслати
Поділитися на інших сайтах

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

а вот как "правильно" в ajax.js получить нужную языковую переменную?

Передайте её туда

Надіслати
Поділитися на інших сайтах

4 часа назад, chukcha сказал:

Я в таких случаях обявляю глобальную js переменную
<sript>var my_var={{ my_text }};</script>

И во внешнем скрипте (если скрипт подгружается) ее использую, это если скрипт не понимает многоязычности

Спасибо. Сделал так в tpl

<script>   var txt1='<?=$text_callmi?>';</script>

работает.

 

Надіслати
Поділитися на інших сайтах


5 минут назад, anapogo сказал:

Спасибо. Сделал так в tpl

<script>   var txt1='<?=$text_callmi?>';</script>

работает.

 

А по рукам ? ;)

Не делайте укороченный синтаксис объявления php кода, не безопасно

<?=$text_callmi?>

Делайте безопасно, правильно и стандартно

<?php echo $text_callmi; ?> 

Есть такой знак дорожный, как в анекдоте "Нэ тараПИСЯ"

Надіслати
Поділитися на інших сайтах

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

А по рукам ? ;)

Не делайте укороченный синтаксис объявления php кода, не безопасно


<?=$text_callmi?>

Делайте безопасно, правильно и стандартно


<?php echo $text_callmi; ?> 

А можете обьяснить почему?

 

 

Надіслати
Поділитися на інших сайтах


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

А почитать?

Да поискал по фразе "укороченный синтаксис объявления php кода не безопасно", но везде пишут что так можно...

про безопасность ничего...

Надіслати
Поділитися на інших сайтах


35 минут назад, anapogo сказал:

Да поискал по фразе "укороченный синтаксис объявления php кода не безопасно", но везде пишут что так можно...

про безопасность ничего...

1. Некоторые хостеры отключают укороченный синтаксис вызова php. Т е работать у каких то хостеров не будет

2. Некоторые модули проверяют файлы на предмет <?php  не подсовывают ли им шелл.  Понятное дело не <?, потому что таких байт кодов будет через один файл. Поэтому не безопасно.  А укороченный вызов отключают при этом. см. п. 1, т е замкнутый круг
 

Спойлер

"Нэ тараПИСЯ"

 

  • +1 1
Надіслати
Поділитися на інших сайтах

Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку
×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.