Регистрация  |  Вход

Как в разметке ВФ страницы получить базовый УРЛ орга?

Давно не могу найти ответ этому вроде простому вопросу:

Как в разметке ВФ страницы получить базовый УРЛ орга?

нужен просто базовый УРЛ (к которому динамически приписывается /IDзаписи), и все это является текстом в аргументе линка вписанного в атрибут src

Давно не могу найти ответ этому вроде простому вопросу:

Как в разметке ВФ страницы получить базовый УРЛ орга?
нужен просто базовый УРЛ (к которому динамически приписывается /IDзаписи), и все это является текстом в аргументе линка вписанного в атрибут src

Вот так можно с апекса:

URL.getSalesforceBaseUrl().toExternalForm()

Можно загнать в стрингу, и использовать на странице.

Или попробуй $CurrentPage.URL.

Вот так можно с апекса:
[code]
URL.getSalesforceBaseUrl().toExternalForm()
[/code]

Можно загнать в стрингу, и использовать на странице.

Или попробуй $CurrentPage.URL.

Alex Tsitsura
Вот так можно с апекса:
URL.getSalesforceBaseUrl().toExternalForm()

Можно загнать в стрингу, и использовать на странице.

Или попробуй $CurrentPage.URL.

Это все здорово, но не пракатывает в Email Templates. Там нужно использовать

<apex:variable var="rootLink" value="{!LEFT($Api.Partner_Server_URL_290, FIND('.com/',$Api.Partner_Server_URL_290)+3)}{!$Site.Prefix}"/>

[quote="Alex Tsitsura"]Вот так можно с апекса:
[code]
URL.getSalesforceBaseUrl().toExternalForm()
[/code]

Можно загнать в стрингу, и использовать на странице.

Или попробуй $CurrentPage.URL.[/quote]

Это все здорово, но не пракатывает в Email Templates. Там нужно использовать 

<apex:variable var="rootLink" value="{!LEFT($Api.Partner_Server_URL_290, FIND('.com/',$Api.Partner_Server_URL_290)+3)}{!$Site.Prefix}"/>
           

спасибо всем.

{!$CurrentPage.URL} - так на странице получаем полный урл

{!LEFT($Api.Partner_Server_URL_290, FIND('.com/',$Api.Partner_Server_URL_290)+3)} - так получаем базовый в том числе в Email Templates.

{!LEFT($CurrentPage.URL, FIND('.com/',$CurrentPage.URL)+3)} - и так получаем базовый урл

спасибо всем.

{!$CurrentPage.URL} - так на странице получаем полный урл

{!LEFT($Api.Partner_Server_URL_290, FIND('.com/',$Api.Partner_Server_URL_290)+3)} - так получаем базовый в том числе  в Email Templates.

{!LEFT($CurrentPage.URL, FIND('.com/',$CurrentPage.URL)+3)} - и так получаем базовый урл 

продолжу тему:

может кто знает, как в АПЕКСе получить базовый урл какой-то коммунити?

есть код который отправляет письма с указание линка на запись как в пределах Орга, так и в коммунити. С первым все понятно, как получить второй?
хотя вроде он отличается от стандартного только фрагментом .../Portal/...

продолжу тему:

может кто знает, как в АПЕКСе получить базовый урл какой-то коммунити?

есть код который отправляет письма с указание линка на запись как в пределах Орга, так и в коммунити. С первым все понятно, как получить второй? 
хотя вроде он отличается от стандартного  только фрагментом .../Portal/...

{!$site.url} or siteurl вроде так.

{!$Site.Prefix} - префиес сайта или коммкнити

Вообще посмотри здесь

{!$site.url} or siteurl вроде так.

{!$Site.Prefix} - префиес сайта или коммкнити

Вообще посмотри [url=http://www.salesforce.com/docs/developer/pages/Content/pages_variables_global_site.htm]здесь[/url]

// Gets community URL in format https://[domain]/[community prifix]
public static String getCummunityUrl(String communityName){
List<Domain> domains = [SELECT Id, Domain FROM Domain limit 1];

if (domains.isEmpty()){
throw new CustomException('Domain was not found.');
}

String domainStr = domains[0].Domain;

List<Network> communities = [
SELECT
Id, Name, Description, Status, UrlPathPrefix
FROM
Network
WHERE
Name = :communityName];

if (communities.isEmpty()){
throw new CustomException('Community was not found "' + communityName + '"');
}

String communityPrefixStr = communities[0].UrlPathPrefix;

return 'https://' + domainStr + '/' + communityPrefixStr;
}

[code]
// Gets community URL in format https://[domain]/[community prifix]
public static String getCummunityUrl(String communityName){
	List<Domain> domains = [SELECT Id, Domain FROM Domain limit 1];
	
	if (domains.isEmpty()){
		throw new CustomException('Domain was not found.');
	}
	
	String domainStr = domains[0].Domain;
	
	List<Network> communities = [
		SELECT 
			Id, Name, Description, Status, UrlPathPrefix 
		FROM 
			Network 
		WHERE 
			Name = :communityName];
	
	if (communities.isEmpty()){
		throw new CustomException('Community was not found "' + communityName + '"');
	}
	
	String communityPrefixStr = communities[0].UrlPathPrefix;			
	
	return 'https://' + domainStr + '/' + communityPrefixStr;
}
[/code]

Можно еще вот так:

String hostVal  = ApexPages.currentPage().getHeaders().get('Host');
String urlVal = Apexpages.currentPage().getUrl();
String URLL = 'https://' + hostVal+ urlVal;

Можно еще вот так:
[code]
    String hostVal  = ApexPages.currentPage().getHeaders().get('Host');
    String urlVal = Apexpages.currentPage().getUrl();
    String URLL = 'https://' + hostVal+ urlVal; 
[/code]

DevNull
String hostVal = ApexPages.currentPage().getHeaders().get('Host');

надо попробовать, в СФ еще с хидерами не работал

[quote="DevNull"]String hostVal  = ApexPages.currentPage().getHeaders().get('Host');[/quote]

надо попробовать, в СФ еще с хидерами не работал