Download & Extend

Make Domain Navigation link to proper (curently browsing by user) language

Project:Domain Access
Version:7.x-3.x-dev
Component:- Domain Nav
Category:bug report
Priority:major
Assigned:Unassigned
Status:needs work
Issue tags:Needs tests

Issue Summary

For now the way (Link paths set to Link to site home page) DN link to other domain/subdomain is to simply link to default language. But it's quite annoying when user browse your page in French and he is redirected to German all the time. DN should redirect to proper language prefixes just like Domain Switcher Block.

Comments

#1

Category:feature request» bug report

Actually going to call this a bug.

#2

Interesting. Didn't even try to use Domain Navigation but It could be worth a try. I tried use code from domain_alias but without any success in this particular case.

#3

I can confirm that with i18n this bug is active and frustrating cause you can't use

Link to active url

without sharing content along all the sites.

#4

Is this hard to fix ? Will there be given any ETA ? I'm asking cause it's the last think that delay my site going to live :)

#5

Follow

#6

It's hard to fix if you don't use i18n.

I find it very hard to believe that no one who uses DA and i18n is capable of writing a patch.

@henrix34 -- Please use follow links from now on. See the button in the upper right of the page.

#7

@kerios83 thanks for notice it :) I didn't notice that user Navigation don't work as my admin domain switching, nice catch.

#8

Status:active» needs review

This patch seems to work, but touches a lot of the underlying interfaces, so we need:

* User reports of successful tests.
* Automated tests for the functionality.

AttachmentSize
1508448-domain-urls-and-locale.patch 2.23 KB

#9

Always a good idea to remove debugging statements.

AttachmentSize
1508448-domain-urls-and-locale.patch 1.7 KB

#10

This patch is working great! Thx!

EDIT:

BUT I have noticed that all links pointing to other domains use (besides domain navigation) language prefix x2. For example yoursite.com/pl/pl/aktualności (from main domain to a subdomain). Links pointing to default English language (without prefix) are fine though.

#11

I don't get that behavior. Are you using Domain Path or any other module that rewrites URLs?

What is generating those links? Domain Nav? The Domain Switcher block? Drupal core?

#12

Views. I'm using views to display my news and when you click on the title you are redirected to proper domain/subdomain the news belong to. Domain Navigation, Domain Switcher block are working fine.

$view = new view;
$view->name = 'latest_news';
$view->description = '';
$view->tag = 'default';
$view->base_table = 'node';
$view->human_name = 'latest_news';
$view->core = 7;
$view->api_version = '3.0';
$view->disabled = FALSE; /* Edit this to true to make a default view disabled initially */

/* Display: Master */
$handler = $view->new_display('default', 'Master', 'default');
$handler->display->display_options['title'] = 'Latest News:';
$handler->display->display_options['access']['type'] = 'perm';
$handler->display->display_options['cache']['type'] = 'none';
$handler->display->display_options['query']['type'] = 'views_query';
$handler->display->display_options['query']['options']['query_comment'] = FALSE;
$handler->display->display_options['exposed_form']['type'] = 'basic';
$handler->display->display_options['pager']['type'] = 'full';
$handler->display->display_options['pager']['options']['items_per_page'] = '10';
$handler->display->display_options['pager']['options']['offset'] = '0';
$handler->display->display_options['pager']['options']['id'] = '0';
$handler->display->display_options['pager']['options']['total_pages'] = '3';
$handler->display->display_options['pager']['options']['expose']['items_per_page_options_all'] = 0;
$handler->display->display_options['style_plugin'] = 'default';
$handler->display->display_options['row_plugin'] = 'fields';
/* Field: Content: Sticky */
$handler->display->display_options['fields']['sticky']['id'] = 'sticky';
$handler->display->display_options['fields']['sticky']['table'] = 'node';
$handler->display->display_options['fields']['sticky']['field'] = 'sticky';
$handler->display->display_options['fields']['sticky']['label'] = '';
$handler->display->display_options['fields']['sticky']['alter']['alter_text'] = 1;
$handler->display->display_options['fields']['sticky']['alter']['text'] = 'On top';
$handler->display->display_options['fields']['sticky']['alter']['make_link'] = 0;
$handler->display->display_options['fields']['sticky']['alter']['absolute'] = 0;
$handler->display->display_options['fields']['sticky']['alter']['external'] = 0;
$handler->display->display_options['fields']['sticky']['alter']['replace_spaces'] = 0;
$handler->display->display_options['fields']['sticky']['alter']['trim_whitespace'] = 0;
$handler->display->display_options['fields']['sticky']['alter']['nl2br'] = 0;
$handler->display->display_options['fields']['sticky']['alter']['word_boundary'] = 1;
$handler->display->display_options['fields']['sticky']['alter']['ellipsis'] = 1;
$handler->display->display_options['fields']['sticky']['alter']['strip_tags'] = 0;
$handler->display->display_options['fields']['sticky']['alter']['trim'] = 0;
$handler->display->display_options['fields']['sticky']['alter']['html'] = 0;
$handler->display->display_options['fields']['sticky']['element_label_colon'] = FALSE;
$handler->display->display_options['fields']['sticky']['element_default_classes'] = 1;
$handler->display->display_options['fields']['sticky']['hide_empty'] = 1;
$handler->display->display_options['fields']['sticky']['empty_zero'] = 0;
$handler->display->display_options['fields']['sticky']['hide_alter_empty'] = 1;
$handler->display->display_options['fields']['sticky']['type'] = 'sticky';
$handler->display->display_options['fields']['sticky']['not'] = 0;
/* Field: Content: Title */
$handler->display->display_options['fields']['title']['id'] = 'title';
$handler->display->display_options['fields']['title']['table'] = 'node';
$handler->display->display_options['fields']['title']['field'] = 'title';
$handler->display->display_options['fields']['title']['label'] = '';
$handler->display->display_options['fields']['title']['alter']['alter_text'] = 0;
$handler->display->display_options['fields']['title']['alter']['make_link'] = 0;
$handler->display->display_options['fields']['title']['alter']['absolute'] = 0;
$handler->display->display_options['fields']['title']['alter']['word_boundary'] = 0;
$handler->display->display_options['fields']['title']['alter']['ellipsis'] = 0;
$handler->display->display_options['fields']['title']['alter']['strip_tags'] = 0;
$handler->display->display_options['fields']['title']['alter']['trim'] = 0;
$handler->display->display_options['fields']['title']['alter']['html'] = 0;
$handler->display->display_options['fields']['title']['hide_empty'] = 0;
$handler->display->display_options['fields']['title']['empty_zero'] = 0;
$handler->display->display_options['fields']['title']['link_to_node'] = 1;
/* Field: Content: domain News Image */
$handler->display->display_options['fields']['field_domain_image']['id'] = 'field_domain_image';
$handler->display->display_options['fields']['field_domain_image']['table'] = 'field_data_field_domain_image';
$handler->display->display_options['fields']['field_domain_image']['field'] = 'field_domain_image';
$handler->display->display_options['fields']['field_domain_image']['label'] = '';
$handler->display->display_options['fields']['field_domain_image']['alter']['alter_text'] = 0;
$handler->display->display_options['fields']['field_domain_image']['alter']['make_link'] = 0;
$handler->display->display_options['fields']['field_domain_image']['alter']['absolute'] = 0;
$handler->display->display_options['fields']['field_domain_image']['alter']['external'] = 0;
$handler->display->display_options['fields']['field_domain_image']['alter']['replace_spaces'] = 0;
$handler->display->display_options['fields']['field_domain_image']['alter']['trim_whitespace'] = 0;
$handler->display->display_options['fields']['field_domain_image']['alter']['nl2br'] = 0;
$handler->display->display_options['fields']['field_domain_image']['alter']['word_boundary'] = 1;
$handler->display->display_options['fields']['field_domain_image']['alter']['ellipsis'] = 1;
$handler->display->display_options['fields']['field_domain_image']['alter']['strip_tags'] = 0;
$handler->display->display_options['fields']['field_domain_image']['alter']['trim'] = 0;
$handler->display->display_options['fields']['field_domain_image']['alter']['html'] = 0;
$handler->display->display_options['fields']['field_domain_image']['element_label_colon'] = FALSE;
$handler->display->display_options['fields']['field_domain_image']['element_default_classes'] = 1;
$handler->display->display_options['fields']['field_domain_image']['hide_empty'] = 1;
$handler->display->display_options['fields']['field_domain_image']['empty_zero'] = 0;
$handler->display->display_options['fields']['field_domain_image']['hide_alter_empty'] = 0;
$handler->display->display_options['fields']['field_domain_image']['click_sort_column'] = 'fid';
$handler->display->display_options['fields']['field_domain_image']['settings'] = array(
  'image_style' => 'subdomain1-image',
  'image_link' => 'content',
);
$handler->display->display_options['fields']['field_domain_image']['group_column'] = 'fid';
$handler->display->display_options['fields']['field_domain_image']['field_api_classes'] = 0;
/* Field: Content: subdomain1 News Image */
$handler->display->display_options['fields']['field_subdomain1_image']['id'] = 'field_subdomain1_image';
$handler->display->display_options['fields']['field_subdomain1_image']['table'] = 'field_data_field_subdomain1_image';
$handler->display->display_options['fields']['field_subdomain1_image']['field'] = 'field_subdomain1_image';
$handler->display->display_options['fields']['field_subdomain1_image']['label'] = '';
$handler->display->display_options['fields']['field_subdomain1_image']['alter']['alter_text'] = 0;
$handler->display->display_options['fields']['field_subdomain1_image']['alter']['make_link'] = 0;
$handler->display->display_options['fields']['field_subdomain1_image']['alter']['absolute'] = 0;
$handler->display->display_options['fields']['field_subdomain1_image']['alter']['external'] = 0;
$handler->display->display_options['fields']['field_subdomain1_image']['alter']['replace_spaces'] = 0;
$handler->display->display_options['fields']['field_subdomain1_image']['alter']['trim_whitespace'] = 0;
$handler->display->display_options['fields']['field_subdomain1_image']['alter']['nl2br'] = 0;
$handler->display->display_options['fields']['field_subdomain1_image']['alter']['word_boundary'] = 1;
$handler->display->display_options['fields']['field_subdomain1_image']['alter']['ellipsis'] = 1;
$handler->display->display_options['fields']['field_subdomain1_image']['alter']['strip_tags'] = 0;
$handler->display->display_options['fields']['field_subdomain1_image']['alter']['trim'] = 0;
$handler->display->display_options['fields']['field_subdomain1_image']['alter']['html'] = 0;
$handler->display->display_options['fields']['field_subdomain1_image']['element_label_colon'] = FALSE;
$handler->display->display_options['fields']['field_subdomain1_image']['element_default_classes'] = 1;
$handler->display->display_options['fields']['field_subdomain1_image']['hide_empty'] = 1;
$handler->display->display_options['fields']['field_subdomain1_image']['empty_zero'] = 0;
$handler->display->display_options['fields']['field_subdomain1_image']['hide_alter_empty'] = 0;
$handler->display->display_options['fields']['field_subdomain1_image']['click_sort_column'] = 'fid';
$handler->display->display_options['fields']['field_subdomain1_image']['settings'] = array(
  'image_style' => 'subdomain1-image',
  'image_link' => 'content',
);
$handler->display->display_options['fields']['field_subdomain1_image']['group_column'] = 'fid';
$handler->display->display_options['fields']['field_subdomain1_image']['field_api_classes'] = 0;
/* Field: Content: subdomain2 News Image */
$handler->display->display_options['fields']['field_subdomain2_image']['id'] = 'field_subdomain2_image';
$handler->display->display_options['fields']['field_subdomain2_image']['table'] = 'field_data_field_subdomain2_image';
$handler->display->display_options['fields']['field_subdomain2_image']['field'] = 'field_subdomain2_image';
$handler->display->display_options['fields']['field_subdomain2_image']['label'] = '';
$handler->display->display_options['fields']['field_subdomain2_image']['alter']['alter_text'] = 0;
$handler->display->display_options['fields']['field_subdomain2_image']['alter']['make_link'] = 0;
$handler->display->display_options['fields']['field_subdomain2_image']['alter']['absolute'] = 0;
$handler->display->display_options['fields']['field_subdomain2_image']['alter']['external'] = 0;
$handler->display->display_options['fields']['field_subdomain2_image']['alter']['replace_spaces'] = 0;
$handler->display->display_options['fields']['field_subdomain2_image']['alter']['trim_whitespace'] = 0;
$handler->display->display_options['fields']['field_subdomain2_image']['alter']['nl2br'] = 0;
$handler->display->display_options['fields']['field_subdomain2_image']['alter']['word_boundary'] = 1;
$handler->display->display_options['fields']['field_subdomain2_image']['alter']['ellipsis'] = 1;
$handler->display->display_options['fields']['field_subdomain2_image']['alter']['strip_tags'] = 0;
$handler->display->display_options['fields']['field_subdomain2_image']['alter']['trim'] = 0;
$handler->display->display_options['fields']['field_subdomain2_image']['alter']['html'] = 0;
$handler->display->display_options['fields']['field_subdomain2_image']['element_label_colon'] = FALSE;
$handler->display->display_options['fields']['field_subdomain2_image']['element_default_classes'] = 1;
$handler->display->display_options['fields']['field_subdomain2_image']['hide_empty'] = 1;
$handler->display->display_options['fields']['field_subdomain2_image']['empty_zero'] = 0;
$handler->display->display_options['fields']['field_subdomain2_image']['hide_alter_empty'] = 0;
$handler->display->display_options['fields']['field_subdomain2_image']['click_sort_column'] = 'fid';
$handler->display->display_options['fields']['field_subdomain2_image']['settings'] = array(
  'image_style' => 'subdomian1_news-image',
  'image_link' => 'content',
);
$handler->display->display_options['fields']['field_subdomain2_news_image']['group_column'] = 'fid';
$handler->display->display_options['fields']['field_subdomain2_image']['field_api_classes'] = 0;
/* Field: Content: Body */
$handler->display->display_options['fields']['body']['id'] = 'body';
$handler->display->display_options['fields']['body']['table'] = 'field_data_body';
$handler->display->display_options['fields']['body']['field'] = 'body';
$handler->display->display_options['fields']['body']['label'] = '';
$handler->display->display_options['fields']['body']['alter']['alter_text'] = 0;
$handler->display->display_options['fields']['body']['alter']['make_link'] = 0;
$handler->display->display_options['fields']['body']['alter']['absolute'] = 0;
$handler->display->display_options['fields']['body']['alter']['external'] = 0;
$handler->display->display_options['fields']['body']['alter']['replace_spaces'] = 0;
$handler->display->display_options['fields']['body']['alter']['trim_whitespace'] = 1;
$handler->display->display_options['fields']['body']['alter']['nl2br'] = 0;
$handler->display->display_options['fields']['body']['alter']['max_length'] = '350';
$handler->display->display_options['fields']['body']['alter']['word_boundary'] = 1;
$handler->display->display_options['fields']['body']['alter']['ellipsis'] = 1;
$handler->display->display_options['fields']['body']['alter']['strip_tags'] = 1;
$handler->display->display_options['fields']['body']['alter']['trim'] = 1;
$handler->display->display_options['fields']['body']['alter']['html'] = 0;
$handler->display->display_options['fields']['body']['element_label_colon'] = FALSE;
$handler->display->display_options['fields']['body']['element_default_classes'] = 1;
$handler->display->display_options['fields']['body']['hide_empty'] = 0;
$handler->display->display_options['fields']['body']['empty_zero'] = 0;
$handler->display->display_options['fields']['body']['hide_alter_empty'] = 0;
$handler->display->display_options['fields']['body']['field_api_classes'] = 0;
/* Field: Content: Comment count */
$handler->display->display_options['fields']['comment_count']['id'] = 'comment_count';
$handler->display->display_options['fields']['comment_count']['table'] = 'node_comment_statistics';
$handler->display->display_options['fields']['comment_count']['field'] = 'comment_count';
$handler->display->display_options['fields']['comment_count']['label'] = '';
$handler->display->display_options['fields']['comment_count']['exclude'] = TRUE;
$handler->display->display_options['fields']['comment_count']['alter']['alter_text'] = 0;
$handler->display->display_options['fields']['comment_count']['alter']['make_link'] = 0;
$handler->display->display_options['fields']['comment_count']['alter']['absolute'] = 0;
$handler->display->display_options['fields']['comment_count']['alter']['external'] = 0;
$handler->display->display_options['fields']['comment_count']['alter']['replace_spaces'] = 0;
$handler->display->display_options['fields']['comment_count']['alter']['trim_whitespace'] = 0;
$handler->display->display_options['fields']['comment_count']['alter']['nl2br'] = 0;
$handler->display->display_options['fields']['comment_count']['alter']['word_boundary'] = 1;
$handler->display->display_options['fields']['comment_count']['alter']['ellipsis'] = 1;
$handler->display->display_options['fields']['comment_count']['alter']['strip_tags'] = 0;
$handler->display->display_options['fields']['comment_count']['alter']['trim'] = 0;
$handler->display->display_options['fields']['comment_count']['alter']['html'] = 0;
$handler->display->display_options['fields']['comment_count']['element_label_colon'] = FALSE;
$handler->display->display_options['fields']['comment_count']['element_default_classes'] = 1;
$handler->display->display_options['fields']['comment_count']['hide_empty'] = 1;
$handler->display->display_options['fields']['comment_count']['empty_zero'] = 0;
$handler->display->display_options['fields']['comment_count']['hide_alter_empty'] = 0;
$handler->display->display_options['fields']['comment_count']['format_plural'] = 1;
$handler->display->display_options['fields']['comment_count']['format_plural_singular'] = '1 comment';
$handler->display->display_options['fields']['comment_count']['format_plural_plural'] = '@count comments';
$handler->display->display_options['fields']['comment_count']['prefix'] = '(';
$handler->display->display_options['fields']['comment_count']['suffix'] = ')';
/* Field: Content: All taxonomy terms */
$handler->display->display_options['fields']['term_node_tid']['id'] = 'term_node_tid';
$handler->display->display_options['fields']['term_node_tid']['table'] = 'node';
$handler->display->display_options['fields']['term_node_tid']['field'] = 'term_node_tid';
$handler->display->display_options['fields']['term_node_tid']['label'] = 'Tags';
$handler->display->display_options['fields']['term_node_tid']['alter']['alter_text'] = 0;
$handler->display->display_options['fields']['term_node_tid']['alter']['make_link'] = 0;
$handler->display->display_options['fields']['term_node_tid']['alter']['absolute'] = 0;
$handler->display->display_options['fields']['term_node_tid']['alter']['external'] = 0;
$handler->display->display_options['fields']['term_node_tid']['alter']['replace_spaces'] = 0;
$handler->display->display_options['fields']['term_node_tid']['alter']['trim_whitespace'] = 0;
$handler->display->display_options['fields']['term_node_tid']['alter']['nl2br'] = 0;
$handler->display->display_options['fields']['term_node_tid']['alter']['word_boundary'] = 1;
$handler->display->display_options['fields']['term_node_tid']['alter']['ellipsis'] = 1;
$handler->display->display_options['fields']['term_node_tid']['alter']['more_link'] = 0;
$handler->display->display_options['fields']['term_node_tid']['alter']['strip_tags'] = 0;
$handler->display->display_options['fields']['term_node_tid']['alter']['trim'] = 0;
$handler->display->display_options['fields']['term_node_tid']['alter']['html'] = 0;
$handler->display->display_options['fields']['term_node_tid']['element_label_colon'] = 1;
$handler->display->display_options['fields']['term_node_tid']['element_default_classes'] = 1;
$handler->display->display_options['fields']['term_node_tid']['hide_empty'] = 1;
$handler->display->display_options['fields']['term_node_tid']['empty_zero'] = 0;
$handler->display->display_options['fields']['term_node_tid']['hide_alter_empty'] = 1;
$handler->display->display_options['fields']['term_node_tid']['link_to_taxonomy'] = 1;
$handler->display->display_options['fields']['term_node_tid']['limit'] = 0;
$handler->display->display_options['fields']['term_node_tid']['vocabularies'] = array(
  'forums' => 0,
  'shop' => 0,
  'tags' => 0,
);
/* Field: Content: Link */
$handler->display->display_options['fields']['view_node']['id'] = 'view_node';
$handler->display->display_options['fields']['view_node']['table'] = 'views_entity_node';
$handler->display->display_options['fields']['view_node']['field'] = 'view_node';
$handler->display->display_options['fields']['view_node']['label'] = '';
$handler->display->display_options['fields']['view_node']['alter']['alter_text'] = 1;
$handler->display->display_options['fields']['view_node']['alter']['text'] = 'Read more... [comment_count]';
$handler->display->display_options['fields']['view_node']['alter']['make_link'] = 1;
$handler->display->display_options['fields']['view_node']['alter']['absolute'] = 0;
$handler->display->display_options['fields']['view_node']['alter']['external'] = 0;
$handler->display->display_options['fields']['view_node']['alter']['replace_spaces'] = 0;
$handler->display->display_options['fields']['view_node']['alter']['trim_whitespace'] = 0;
$handler->display->display_options['fields']['view_node']['alter']['nl2br'] = 0;
$handler->display->display_options['fields']['view_node']['alter']['word_boundary'] = 1;
$handler->display->display_options['fields']['view_node']['alter']['ellipsis'] = 1;
$handler->display->display_options['fields']['view_node']['alter']['strip_tags'] = 0;
$handler->display->display_options['fields']['view_node']['alter']['trim'] = 0;
$handler->display->display_options['fields']['view_node']['alter']['html'] = 0;
$handler->display->display_options['fields']['view_node']['element_label_colon'] = FALSE;
$handler->display->display_options['fields']['view_node']['element_default_classes'] = 1;
$handler->display->display_options['fields']['view_node']['hide_empty'] = 0;
$handler->display->display_options['fields']['view_node']['empty_zero'] = 0;
$handler->display->display_options['fields']['view_node']['hide_alter_empty'] = 0;
/* Sort criterion: Content: Sticky */
$handler->display->display_options['sorts']['sticky']['id'] = 'sticky';
$handler->display->display_options['sorts']['sticky']['table'] = 'node';
$handler->display->display_options['sorts']['sticky']['field'] = 'sticky';
$handler->display->display_options['sorts']['sticky']['order'] = 'DESC';
/* Sort criterion: Content: Post date */
$handler->display->display_options['sorts']['created']['id'] = 'created';
$handler->display->display_options['sorts']['created']['table'] = 'node';
$handler->display->display_options['sorts']['created']['field'] = 'created';
$handler->display->display_options['sorts']['created']['order'] = 'DESC';
$handler->display->display_options['sorts']['created']['granularity'] = 'minute';
/* Filter criterion: Content: Published */
$handler->display->display_options['filters']['status']['id'] = 'status';
$handler->display->display_options['filters']['status']['table'] = 'node';
$handler->display->display_options['filters']['status']['field'] = 'status';
$handler->display->display_options['filters']['status']['value'] = 1;
$handler->display->display_options['filters']['status']['group'] = 0;
$handler->display->display_options['filters']['status']['expose']['operator'] = FALSE;
/* Filter criterion: Content: Type */
$handler->display->display_options['filters']['type']['id'] = 'type';
$handler->display->display_options['filters']['type']['table'] = 'node';
$handler->display->display_options['filters']['type']['field'] = 'type';
$handler->display->display_options['filters']['type']['value'] = array(
  'subdomain1' => 'subdomain1',
  'domain' => 'domain',
  'subdomain2' => 'subdomain2',
);
$handler->display->display_options['filters']['type']['group'] = '0';
/* Filter criterion: Content translation: Language */
$handler->display->display_options['filters']['language']['id'] = 'language';
$handler->display->display_options['filters']['language']['table'] = 'node';
$handler->display->display_options['filters']['language']['field'] = 'language';
$handler->display->display_options['filters']['language']['value'] = array(
  '***CURRENT_LANGUAGE***' => '***CURRENT_LANGUAGE***',
);
$handler->display->display_options['filters']['language']['group'] = '0';

/* Display: Block */
$handler = $view->new_display('block', 'Block', 'block');

#13

Is it the TITLE or the READ MORE link that is broken? Or both?

#14

Both.

#15

Thanks.

#16

Adding path and use it in rewrite results (as a link rewrite with absolute url) doesn't fix this. Views still use /lang-prefix/lang-prefix/ in link.

#17

Status:needs review» needs work

#18

Status:needs work» postponed (maintainer needs more info)

I cannot replicate this error using:

* DA 7.x.3
* Views 7.x.3
* Content Translation (core)
* Locale (core)
* Bartik (core theme)
* Path-based language negotiation.
* Three test languages (English, Swedish, Finnish)
* Content with no language assigned.
* Content in English with a translation in Finnish.

In all cases, the View works as expected. Note that I modified the View to remove certain fields and conditions not on my site.

So what is different about your configuration?

AttachmentSize
test-view.txt 14.87 KB

#19

To be more clear: the provided View works correctly for me when the patch is installed.

#20

I have apply the patch and used provided view with same results (prefix x2). Did those news (content) were assigned to different domain/subdomain - other then your default one ? Cause I don't have this problem when content is assigned to default domain.

EDIT: You do check the URL Detection method ? [Home » Administration » Configuration » Regional and language » Languages - Determine the language from the URL (Path prefix or domain).]

#21

Status:postponed (maintainer needs more info)» needs work

Got it.

#22

DA only supports path-prefixing. I duplicated the problem by assigning something to a domain other than default,

#23

Ok, I can only add that on clean drupal 7 install I still have this problem:

drupal 7.12
Chaos tools 7.x-1.0
Views 7.x-3.3
Domain Access 7.x-3.3

* Content Translation (core)
* Locale (core)
+ URL Detection method

i18n, token, pathauto, variable, language icons, doesn't seems to been related with this issue (tested with few configuration possibilities and clear cache, update.php).

#24

Status:needs work» needs review

I found the problem with the patch. This bit of the code forces the url() function to run twice, once on the root url for the domain and once for the requested path.

<?php
$path
= domain_check_scheme($domain['scheme']) .'://'. $domain['subdomain'] . url('<front>');
?>

The only solution I found was to make $language an optional argument for domain_get_path() and domain_get_uri(). Only domain_nav_render() passes a $language parameter.

I am not crazy about this solution, but it seems to work as expected.

We could use a test case for this behavior as well.

AttachmentSize
1508448-domain-urls-and-locale.patch 3.75 KB

#25

Great job, this is working exactly as it should. I can't say anything about code cause I'm not a programmer but module behaves in harmony with user expectations.

#26

This is working! Thanks!

#27

Status:needs review» needs work

Ok, so once we have a working test, this can go in.

#28

Patch from http://drupal.org/node/1508448#comment-5858222 is working. Thanks.

#29

Can you post a drupal 6 equivalent patch?

#30

Updated patch against HEAD.

The tests still need work. There are some configuration options for language negotiation that are difficult to set properly.

AttachmentSize
1508448-domain-urls-and-locale_1.patch 6.15 KB

#31

Priority:normal» major

I still can't make the tests work.

Anyone who wants this feature really needs to help out or else it's never going in.

AttachmentSize
1508448-domain-urls-and-locale_1.patch 6.15 KB

#32

Hi agent, I run some tests on 7.15 with older version of DA (7.x-3.3) and patch from #24 is working fine for me.

I'm gona test newest patch later on.

EDIT: The patch applies partially (I have test it even with 3.4 - same thing happen).
domain.nav.module is updated, domain.test is updated, domain.module is NOT updated.

EDIT2:With this patch domain.module is updated - (can't attach a patch - drupal.org error - gona do it l8er)
and it seems that everything is working fine.

#33

There is problem with opera if you want attach something, working fine on firefox however, here is a patch.

AttachmentSize
1508448-domain-urls-and-locale_1_2.patch 6.15 KB

#34

Patches need to go against the DEV branch of Git. See https://drupal.org/project/domain/git-instructions

#35

I can't download 3.3 dev version so if I understand correctly I must test this patch with 3.4 dev ?

#36

In git, you want branch 7.x-3.x. If you don't know Git, there are tutorials linked from that page.

#37

This is working extremely well.

#38

I did test this last night. All good, green light here.

#39

I have just install 3.6 and after checking available updates there is 3.7 already :P I remember that everything goes fine when I have tested this patch - #32. Anyway it's functionality is crucial so lets hope we will see it in 3.8

#40

As I recall, the patch does not apply cleanly to 7.x-3.x branch, so it needs a re-roll. That's why it is marked "needs work".

#41

Tested with 3.3 no problems so far.

#42

Version:7.x-3.3» 7.x-3.x-dev

The patch needs to apply to -dev.