Пред1.5 это просто: удостоверьтесь, что Ваша рабочая копия указывает на соединительную линию, затем сделайте "svn URL ответвления URL соединительной линии слияния". Изменения, которые Вы получаете, являются дельтой между соединительной линией и ответвлением, эффективно "дают мне все, что это необходимо, чтобы заставить соединительную линию быть похожей на ответвление".
я понятия не имею, изменяют ли 1.5's новые возможности слияния этот сценарий.
Конечно, это можно сделать, но это не обычный способ сделать это в Drupal. Обычно вы сохраняете информацию либо в сеансе (используйте sessions_write
/ sessions_read
), либо, если пользователь вошел в систему, в информации учетной записи пользователя.
Сохранение информация в файле cookie означает, что он может быть изменен на стороне клиента, и вам необходимо сделать свой код более надежным, как и любые данные, исходящие от пользователя.
Если вы сохраните его в сеансе, он будет сохранен до тех пор, пока сеанс живет, но после этого исчезнет. Для анонимных пользователей лучшего пути действительно нет. OTOH, для зарегистрированных пользователей, хранение информации в $ user-> data
означает, что они будут доступны, пока вы их не удалите, потому что они будут храниться в пользователях.
столов.
Также помните, что файлы cookie сеанса drupal регенерируются при переключении с анонимного на вход в систему, но сохраняют содержимое сеанса, поэтому вы можете помещать данные в анонимный сеанс и сохранять их, когда пользователь входит в систему, а затем сохранять их в данные его аккаунта. Посмотрите includes / session.inc
, чтобы узнать, как это работает.
Если вам нужно что-то отслеживать, и это должно работать с пользователем, не вошедшим в систему, вам нужно использовать cookie, чтобы отслеживать это. Вы не можете использовать сеанс для хранения вещей для анонимных посетителей в Drupal, потому что он привязан к объекту пользователя.
Здесь есть описание - http://www.w3schools.com/PHP/php_cookies.asp - но позвольте мне углубиться в это.
Вы начинаете с setcookie (name, value, expire) - мы предполагаем, что мы хотим назвать это значение business_search, и мы будем использовать тестовое значение ' 80204 ', который является почтовым индексом - это работает так же хорошо, если вы используете' Denver, CO '. Мы не хотим, чтобы он истекал, о-о, шесть месяцев, поэтому мы хотели бы позвонить:
setcookie('business_search', '80204', time() + 3600 * 24 * 180);
Это время составляет примерно шесть месяцев, добавляемых ко времени прямо сейчас.
Получить cookie после этого еще проще - просто используйте $ _COOKIE ['business_search'], и он вернет значение. Итак, мы могли бы просто использовать этот код:
<?php
function saveSerch($search_term) {
setcookie('business_search', $search_term, time() + 3600 * 24 * 180);
}
function readSearch() {
return $_COOKIE['business_search'];
}
?>
Если у вас возникли проблемы с сохранением клиентских файлов cookie в Drupal, попробуйте использовать необязательный параметр для пути.
пример:
setcookie ('myCookieName', 'myCookieData', 0, '/');
Затем, при загрузке следующей страницы, выведите свои куки на экран. Вы должны увидеть свой файл cookie в выводе.
print_r ($ _ COOKIE);
, точнее,
print $ _COOKIE ['myCookieName'];
Ура!