Re: Предложения по функционалу
Былоб приятно видеть в следующей версии валидатор форм.
А то ппц какая каша получается при проверке формы
Вы не вошли. Пожалуйста, войдите или зарегистрируйтесь.
Монстра → Разработка → Предложения по функционалу
Былоб приятно видеть в следующей версии валидатор форм.
А то ппц какая каша получается при проверке формы
в option api не хватает функции проверки существования параметра.
так же было бы неплохо, чтобы конструкция
$newtable = new Table('sometable')
создавала новый файл sometable, если такого не существует. это избавит от большого огорода в коде плагинов.
Подскажите, пожалуйста, как можно реализовать переключатель языка сайта на монстре? Я про клиентскую часть со всем контентом, заголовками и меню. Это реально сделать? Спасибо.
только установив две цмс по подпапкам ru и en, и сделав в шаблонах кроссылки друг на друга.
переключения "на лету" в монстре нет.
El'Drako
В плагине по коду этого делать ненужно. Это делается один раз в инсталяционом файле плагина.
Пример: guestbook.install.php
// Create New Table 'guestbook' width fields: 'username', 'email', 'message', 'date' Table::create('guestbook', array('username', 'email', 'message', 'date'));
а вот про это не подумал.
спасибо.
только установив две цмс по подпапкам ru и en, и сделав в шаблонах кроссылки друг на друга.
переключения "на лету" в монстре нет.
У меня ссылки языков в чанке и соответственно повторяются на каждой странице. Т.е. создаю папку EN, в которой лежит вторая монстра - на английском. Как правильно прописать сслыки к ней используя php, чтобы не писать их вручную на каждой странице?
Заранее спасибо и прошу прощения за нубский вопрос.
устанавливате монстры так:
1. русская - в папку /www/ru/
2. английская - /www/en/
далее обращение к материалам двух цмс:
1. русская site.ru/ru/home
2. английская site.ru/en/home
в обоих случаях slug материалов двух цмс будет home.
в .htaccess каждой цмс нужно прописать базовый путь /ru/ & /en/ соответственно
в организации же самих цмс отличий быть не должно больше никаких. то, что юзер находится на второй английской цмс, он не поймёт - для него будет просто выбор двух языков на сайте.
устанавливате монстры так:
1. русская - в папку /www/ru/
2. английская - /www/en/далее обращение к материалам двух цмс:
1. русская site.ru/ru/home
2. английская site.ru/en/homeв обоих случаях slug материалов двух цмс будет home.
в .htaccess каждой цмс нужно прописать базовый путь /ru/ & /en/ соответственнов организации же самих цмс отличий быть не должно больше никаких. то, что юзер находится на второй английской цмс, он не поймёт - для него будет просто выбор двух языков на сайте.
Спасибо. А как реализовать сслыки перехода между двумя монстрами? из en в ru и обратно?
В шаблоне просто впишите элемент выбора языка, в виде выпадающего списка, или же даже обычной ссылкой замаскировав её под флажок
Можно создать поддомены и в соответствующую папку поддомена распихать по монстре. Способов предостаточно
Ссылки можно не доменные сделать, а с IP cервера, к примеру. Но с поддоменами лучше.
Хотя там таких танцев с бубном совершенно не надо, в монстре в настройках задаешь "адрес сайта" не доменное имя, а "ввв.доменное имя.папка с монстрой", и монстра все свои ссылки переделывать будет под этот макет. получается, что ссылка на соседнего монстру будет иметь вид "ввв.доменное имя.папка с монстрой2".
В шаблоне просто впишите элемент выбора языка, в виде выпадающего списка, или же даже обычной ссылкой замаскировав её под флажок
Можно создать поддомены и в соответствующую папку поддомена распихать по монстре. Способов предостаточно
Ссылки можно не доменные сделать, а с IP cервера, к примеру. Но с поддоменами лучше.Хотя там таких танцев с бубном совершенно не надо, в монстре в настройках задаешь "адрес сайта" не доменное имя, а "ввв.доменное имя.папка с монстрой", и монстра все свои ссылки переделывать будет под этот макет. получается, что ссылка на соседнего монстру будет иметь вид "ввв.доменное имя.папка с монстрой2".
Спасибо. Я когда про ссылки спрашивал имел ввиду другое немного. У меня в монстре есть чанк со ссылками EN и RU. Соответственно, он один и тот же на каждой странице. Так вот в чем вопрос, как средствами php прописать эти ссылки единажды в чанке? Т.е. чтобы находясь на определенной странице в RU постетитель нажимая на смену языка попадал на ту же страницу только в EN? Просто не хочется на каждой странице ссылки вручную писать.. Я в php новичок. Потому и не могу понять. Наврное это делается используя php echo?
Прошу прощения если мои вопросы выглядят бредово ))
можно через javascript
javascript:location.href='http://site.ru/en/'+location.pathname;
это только пример - вырезку имени сайта с признаком языка из пути сами сделаете с помощью гугла.
через пхп можно использовать Page::slug(). а дальше формировать нужный путь.
Можно использовать GET параметр в ссылках с языком и отдавать содержимое страниц нужное. www.domain.com/home?lang=ru
Request::get('lang');
Для переключения между языками использовать не чанк а сниппет.
Может кто подскажет , что то я совсем запутался....
Есть ссылка:
<a name="translate" id="translate" title="Наш сайт українською мовою">Наш сайт українською мовою</a>
Располеженная по адресу: http://localhost/ru/proverka
При нажатии на ссылку должен быть переход на: http://localhost/proverka
Код скрипта:
<script type="text/javascript"> document.getElementById('translate').setAttribute('href', location.hostname + location.pathname); </script>
Но он никак не срабатывает, уже и вставлял просто 'http://localhost' + location.pathname
Всеравно никак.
Подскажите как соединить в единую ссылку: АДРЕС сайта (hostName) и АДРЕС страницы (pathname)
----------------------------------
Из приведенного в 37 посте, я что то не понял как именно сформировать ссылку с тегами
из location.pathname нужно выделить нужные uri.
например, из http://сайт/movie/95786/links/ при клике мы выполняем
javascript:location.href='http://сайт/movie/'+location.pathname.match(/\d+/)[0].toString()+'/edit';
и получаем http://сайт/movie/95786/edit/
или можно из http://samlib.ru/p/pupkin_wasja_ibragim … etxt.shtml сделать вот так -
javascript:location.href='http://samlib.ru/img/m/mertwyj_o_a/aj.shtml?'+location.pathname.substr(1);
и получить http://samlib.ru/img/m/mertwyj_o_a/aj.s … etxt.shtml
Спасибо за быстрый ответ.
Уже времени нет пробовать - завтра отпишусь.
Учтите что данная 'склейка' будет работать если у пользователя включены JavaSript-ы. Уместно это реализовывать на стороне сервера в данном случае php, mod_rewrite .htaccess.
Спасибо за наводки.
Разобрался и всё получилось.
Ув. Awilum(Сергей Романенко). Есть важное предложение.
Как вы смотрите на то что бы изменить конструктор класса View следующим образом:
public function __construct($view, array $variables = array()) { // Set view file $this->view_file = PLUGINS . DS . $view . '.view.php'; if(BACKEND==false) { if(file_exists(THEMES.DS.Site::theme().DS.'plugins'.DS.$view.'.view.php') === true) $this->view_file = THEMES.DS.Site::theme().DS.'plugins'.DS.$view.'.view.php'; else $this->view_file = PLUGINS . DS . $view . '.view.php'; } else $this->view_file = PLUGINS . DS . $view . '.view.php'; // Is view file exists ? if (file_exists($this->view_file) === false) { throw new RuntimeException(vsprintf("%s(): The '%s' view does not exist.", array(__METHOD__, $view))); } // Set view variables $this->vars = $variables; }
Смысл данного изменения в том, что часто требуется изменить внешний вид выводимых плагином данных на сайте, в частности, плагин меню. И если изменения делать прямо в коде плагина, то при последующем обновлении естественно данные будут затерты. К тому же, такой подход позволит создавать разные шаблоны плагинов для шаблонов сайта.
Буду очень благодарен, если Вы внесете данные изменения, и они войдут в ближайшее обновление.
P.S. Быть может, данный вопрос поднимался. Почему у страниц не реализована возможность добавлять картинку? Текущая плагинная система не позволит создать плагин-дополнение к текущему базовому плагину. А копировать и добавить функционал к базовому плагину тоже не вариант, т.к. нет возможности перекрыть базовый или использовать некий параметр для отключения базового плагина. Загрузку картинок я реализовал в плагине каталога. Могу адаптировать базовый плагин Pages для загрузки картинки для страницы, если это войдет в обновление.
внутри плагинов вполне себе можно расставить хуки, на которые будут цепляться сторонние плагины.
сейчас возник вопрос - а почему в монстре изначально в настройках нет email для обратной связи?
El'Drako админ который регается монстру. у него есть емейл.
хм. не явно, но логично.
но этот ящик не подходит в качестве обратного для извещений авторизации.
т.е. нужно где-то взять хотя бы доменное имя, чтобы подставлять нечто вида nobody@site.com...
El'Drako Какие цели преследуются ? известить администратора о новом пользователе ?
Выбрать всех юзеров с ролью администратор и отправить им емейлы.
нет. для этой роли такой способ идеален.
а вот для информационных писем (Вы зарегены на сайте, Сброс пароля, и т.п.) админское мыло обратным адресом не пойдёт.
нужно что-то вроде Site::baseurl(), отдающее "site.com", чтобы можно было задать пустой ящик на домен сайта.
Монстра → Разработка → Предложения по функционалу
Форум работает на PunBB, при поддержке Informer Technologies, Inc