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

Войти или зарегистрироваться?


Recommended Posts

У меня родилась шутка, которая может быть полезной:

<?php
$fucking_shit = '<a href="http://opencart.localhost/index.php?route=account/login">Войти</a> или <a href="http://opencart.localhost/index.php?route=account/register">зарегистрироваться</a>';
//$fucking_shit_en = 'Welcome visitor you can <a href="http://opencart.localhost/index.php?route=account/login">login</a> or <a href="http://opencart.localhost/index.php?route=account/register">create an account</a>';
echo 'This is '.$fucking_shit;
echo '<hr />';
$pattern = '/<a(.*?)href=[\"\']([a-z0-9]+)\:\/\/(.*?)\/?[\"\'](.*?)>(.*?)<\/a>/i';
$fucking_shit = preg_match_all( $pattern, $fucking_shit, $well_done );
echo 'Login link:  '.$well_done['2'][0] .'://'. $well_done['3'][0];
echo '<br />';
echo 'Reg link:  '.$well_done['2'][1] .'://'. $well_done['3'][1];
echo '<hr />';
echo 'Login txt: '.$well_done['5'][0];
echo '<br />';
echo 'Reg txt: '.$well_done['5'][1];
echo '<hr />';
echo '<pre>';
print_r($well_done);
echo '</pre>';

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

Как вам решение? Есть другие варианты?

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

Ну, если не надо, то не надо :-) А вообще, в шаблоне, если он на продажу, может захотеться сделать кнопочки "Вход" и "Регистрация". Но править языковые файлы, контроллеры и добавлять vqmod - это нарушение принципов шаблонизации. А так и волки и овцы...

UPD:

afwollis, milus, встречный вопрос: у вас есть решение лучше? Был бы очень признателен за хорошую мысль.

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

не знаю как по мне проще изменить 2 строчки в языковом файле, как по мне наличие кода в файлах шаблонов тоже вроде как бы не очень.

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

не знаю как по мне проще изменить 2 строчки в языковом файле

1. Это привязывает шаблон к языкам, которые Вы знаете. А если у Вас эстонец купит шаблон? Ему надо лезть в свой языковой файл и добавлять там Ваши строчки. Добавит косо, сохранит в кодировке ANSI, вылезет у него ошибка JS и он к Вам в комментарии к шаблону напишет, что Вы продаете неработоспособный шаблон и будет в чем-то прав.

2. У Вас противоречие.

не знаю как по мне проще изменить 2 строчки в языковом файле
как по мне наличие кода в файлах шаблонов тоже вроде как бы не очень.

Значит вызывать $this->language->get() из шаблона можно (хотя это контекстный метод и его-то как раз вызывать следует в последую очередь), а обычная рягулярка это извращение? :-) Или Вы имели ввиду "добавить пару строк в языковой файл и контроллер"?

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

не знаю насколько лучше, но мне тоже не нравятся эти записи в шапке, поэтому как правило я меняю в catalog/language/english/common/header.php


$_['text_welcome']        = 'Welcome visitor you can <a href="%s">login</a> or <a href="%s">create an account</a>.';
$_['text_logged']         = 'You are logged in as <a href="%s">%s</a> <b>(</b> <a href="%s">Logout</a> <b>)</b>';

на


$_['text_welcome']        = '<a href="%s">Login</a><a href="%s">Register</a>';
$_['text_logged']         = '<a href="%s">%s</a><a href="%s">Logout</a>';

ну и тут же добавляю стили, чтобы выглядело в виде баттонов.

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

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

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

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

Извините, но я не уверен, что это относится к хорошим шаблонам. Даже очень сложную кастомизацию (вплоть до перезаписи файлов ядра) можно полностью автоматизировать, добавив в админку один пустой модуль (или не пустой).

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

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

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

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

Это не правильно.. Потому что невозможно! в админку запихнуть абсолютно все настройки, которые возможно сделать средствами css и html. Это способ для ленивых пользователей сделать что-то ничего не умея. А потом зайти на форум и задать 100500 вопросов "А как..?"

Плюс эти темы идут с отдельными модулями, для их работы нужно изменить кучу кода движка (см. шопику), имеют очень сложную структуру с кучей условий так как все формируется динамически из настроек и в следствии чего работают медленнее обычных тем. И все для того, чтобы не добавлять пару строк в css или html? Это знания которые можно получить за 3 дня пройдя какой-то онлайн курс - html для чайников..

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

Еще можно при помощи jQuery сделать тоже самое :-) А еще при помощи CSS. Но это все какиет-то костыли.

Решение на JS я представляю примерно (хотя с ходу сам не напишу), а что с CSS?

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

sv2109, а по САБЖу скажешь что-то? :-)

Скажу что называть переменные $fucking_shit это очень непрофессионально, даже если эта переменная используется для примера. Название переменной должно говорить о содержании этой переменной, такой код намного легче читать и поддерживать.

А по сабжу.. с одной стороны это не правильно - логика в шаблоне, лучше конечно поменять языковый файл. НО любой кто занимался поддержкой модулей знает сколько проблем для разработчика доставляют такие вещи.. даже если в инструкции будет четко указано что где и как нужно поменять.. все равно найдется 100500 ламеров которые это или не прочитают или не поймут или где-то накосячат, после чего будут терроризировать разработчика что у "У меня ничего не работает". И в данном случае имхо лучше добавить 1 регулярку в шаблон и избавить себя от этих вопросов.

Правда регулярку я бы подправил - зачем отделять протокол от урла, а потом в коде его обратно собирать, не проще ли вытянуть сразу все?

+ те скобки, что не используются потом лучше писать так ( :?) тогда они не попадают в массив $well_done и код стает более читабельным. $well_done я бы тоже поменял название из него не понятно что в переменной

+ добавить комментарии чтобы было понятно что эта регулярка делает и для чего она нужна так как с ходу даже человек знакомый с регулярными выражениями не поймет что она делает, а незнакомый вообще будет в шоке от увиденного.. например какой-то верстальщик, который шаблон откроет)) Будет так - http://anongallery.o...-cant-sleep.jpg )))

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

toporchillo, эпично! А если ещё float: left; и display: block для ссылок, то можно даже спозиционировать нормально...

sv2109, согласен, регулярку можно раза в 2 упростить. Даже можно строковыми функциями все сделать, но тогда кода будет больше.

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

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

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

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

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

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

Вхід

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

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

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

Important Information

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