ํ์ค ์ปจํธ๋กค๋ฌ ์ฌ์ฉ
ํ์ต ๋ชฉํ
์ด ์ ๋์ ์๋ฃํ๋ฉด ๋ค์์ ์ํํ ์ ์์ต๋๋ค.
- Visualforce ํ์ค ์ปจํธ๋กค๋ฌ๊ฐ ๋ฌด์์ธ์ง ์ค๋ช
ํ๊ณ ์ฃผ์ ์์ฑ์ ์ค๋ช
ํ ์ ์์ต๋๋ค.
- Visualforce ํ์ด์ง์์ ํ์ค ์ปจํธ๋กค๋ฌ๋ฅผ ์ถ๊ฐํ ์ ์์ต๋๋ค.
- ํ์ด์ง์ ํ์ค ์ปจํธ๋กค๋ฌ์์ ๊ฒ์ํ ๋ ์ฝ๋์ ๋ฐ์ดํฐ๋ฅผ ํ์ํ ์ ์์ต๋๋ค.
- ์ ํ๊ธฐ๋ฒ์ ์ฌ์ฉํ์ฌ ๊ด๋ จ ๋ ์ฝ๋์ ํ๋์ ์ก์ธ์คํ๋ ํํ์์ ์์ฑํ ์ ์์ต๋๋ค.
Visualforce ํ์ค ์ปจํธ๋กค๋ฌ ์๊ฐ
Visualforce๋ ๊ธฐ์กด์ MVC(Model-View-Controller) ํจ๋ฌ๋ค์์ ์ฌ์ฉํ๊ณ ํ์ค ์์ ๋ฐ ๋ฐ์ดํฐ ์ก์ธ์ค๋ฅผ ์ฒ๋ฆฌํ๋ ์ ๊ตํ ๋ด์ฅ ์ปจํธ๋กค๋ฌ๋ฅผ ํฌํจํ์ฌ Lightning Platform ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๊ฐ๋จํ๊ณ ๊ธด๋ฐํ๊ฒ ํตํฉํฉ๋๋ค. ์ด๋ฌํ ๋ด์ฅ ์ปจํธ๋กค๋ฌ๋ฅผ ์ผ๋ฐ์ ์ผ๋ก ํ์ค ์ปจํธ๋กค๋ฌ๋ผ๊ณ ํฉ๋๋ค.
MVC ๋์์ธ ํจํด์ ์ฌ์ฉํ๋ฉด ๊ธฐ๋ณธ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ฐ ๋ ผ๋ฆฌ์์ ๋ณด๊ธฐ์ ์คํ์ผ์ ์ฝ๊ฒ ๋ถ๋ฆฌํ ์ ์์ต๋๋ค. MVC์์ ๋ณด๊ธฐ(Visualforce ํ์ด์ง)๋ ์ปจํธ๋กค๋ฌ์ ์ํธ ์์ฉํ๊ณ ์ปจํธ๋กค๋ฌ๋ ํ์ด์ง์ ๊ธฐ๋ฅ์ ์ ๊ณตํฉ๋๋ค. ์๋ฅผ ๋ค์ด ์ปจํธ๋กค๋ฌ์๋ ๋ฒํผ์ ํด๋ฆญํ ๊ฒฝ์ฐ ์คํํ ๋ ผ๋ฆฌ๊ฐ ํฌํจ๋ ์ ์์ต๋๋ค. ์ปจํธ๋กค๋ฌ๋ ๋ํ ์ผ๋ฐ์ ์ผ๋ก ๋ชจ๋ธ(๋ฐ์ดํฐ๋ฒ ์ด์ค)๊ณผ ์ํธ ์์ฉํ์ฌ ๋ณด๊ธฐ์์ ํ์ํ ์ ์๋ ๋ฐ์ดํฐ๋ฅผ ์ฌ์ฉํ๊ฑฐ๋ ๋ณ๊ฒฝ ์ฌํญ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ก ๋ค์ ํธ์ํฉ๋๋ค.
๋๋ถ๋ถ์ ํ์ค ๋ฐ ๋ชจ๋ ์ฌ์ฉ์ ์ ์ ๊ฐ์ฒด์๋ ๊ฐ์ฒด์ ์ฐ๊ฒฐ๋ ๋ฐ์ดํฐ์ ์ํธ ์์ฉํ๋ ๋ฐ ์ฌ์ฉํ ์ ์๋ ํ์ค ์ปจํธ๋กค๋ฌ๊ฐ ์์ผ๋ฏ๋ก ์ปจํธ๋กค๋ฌ์ ๋ํ ์ฝ๋๋ฅผ ์ง์ ์์ฑํ ํ์๊ฐ ์์ต๋๋ค. ํ์ค ์ปจํธ๋กค๋ฌ๋ฅผ ํ์ฅํ์ฌ ์๋ก์ด ๊ธฐ๋ฅ์ ์ถ๊ฐํ๊ฑฐ๋ ์ฒ์๋ถํฐ ๋ง์ถคํ ์ปจํธ๋กค๋ฌ๋ฅผ ์์ฑํ ์ ์์ต๋๋ค. ์ฌ๊ธฐ์์ ํ์ค ์ปจํธ๋กค๋ฌ์ ๋ํด ์์๋ณด๊ฒ ์ต๋๋ค.
๋ ์ฝ๋ ID๋ฅผ ์ฐพ์ ์์ฒญ URL์ ์ถ๊ฐ
์์ฒญ URL์ ๋งค๊ฐ๋ณ์๋ก ์ถ๊ฐํ์ฌ ํ์ค ์ปจํธ๋กค๋ฌ์ ๋ ์ฝ๋์ ๋ ์ฝ๋ ID๋ฅผ ์ ๊ณตํฉ๋๋ค.
ํ์ค ์ปจํธ๋กค๋ฌ๋ฅผ ์ฌ์ฉํ์ฌ ํน์ ๋ ์ฝ๋๋ฅผ ์ฐธ์กฐํ๋ ค๋ฉด ์์ ํ ๋ ์ฝ๋์ ๋ ์ฝ๋ ์๋ณ์ ๋๋ ID๋ฅผ ์์์ผ ํฉ๋๋ค. ID๋ฅผ ์ฌ์ฉํ์ฌ ๋ฐ์ดํฐ๋ฅผ ๊ฒ์ํ๊ณ ๋ ์ฝ๋์ ๋ฐ์ดํฐ๊ฐ ๋ณ๊ฒฝ๋๋ฉด ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ค์ ์ ์ฅํฉ๋๋ค.
Visualforce ํ์ด์ง๊ฐ ์กฐ์ง์ ๋ค๋ฅธ ํ์ด์ง์ ์ํธ ์์ฉํ ๋ ๋ ์ฝ๋์ ์๋ณ์๋ฅผ ์๋์ผ๋ก ์ ๋ฌํ ์ ์์ผ๋ฉฐ Visualforce ํ์ด์ง๋ ์ด๋ฅผ ์ฌ์ฉํ์ฌ ํด๋น ๋ ์ฝ๋์ ๋ฐ์ดํฐ๋ฅผ ์กฐํํ๊ณ ํ์ํ ์ ์์ต๋๋ค. ๊ทธ๋ฌ๋ ๊ฐ๋ฐ ์ค์๋ ํ์ด์ง๊ฐ ๋ ๋ฆฝ ์คํํ์ด๋ฏ๋ก ํ์ด์ง๊ฐ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ ์ฝ๋์์ ๋ฐ์ดํฐ๋ฅผ ํ์ํ๋ ค๋ฉด ๋ ์ฝ๋ ID๋ฅผ ์๋์ผ๋ก ์ ๊ณตํด์ผ ํฉ๋๋ค. ์ด๋ฅผ ์ํํ๋ ๊ฐ์ฅ ์ฌ์ด ๋ฐฉ๋ฒ์ ์์ฒญ URL์ GET ๋งค๊ฐ๋ณ์๋ก ์ถ๊ฐํ๋ ๊ฒ์ ๋๋ค.
- Developer Console์ ์ด๊ณ File(ํ์ผ) | New(์๋ก ๋ง๋ค๊ธฐ) | Visualforce Page(Visualforce ํ์ด์ง)๋ฅผ ํด๋ฆญํ์ฌ ์ Visualforce ํ์ด์ง๋ฅผ ๋ง๋ญ๋๋ค. ํ์ด์ง ์ด๋ฆ์
AccountSummary๋ฅผ ์ ๋ ฅํฉ๋๋ค.
- ํธ์ง๊ธฐ์์ ๋ชจ๋ ๋งํฌ์
์ ๋ค์์ผ๋ก ๋ฐ๊ฟ๋๋ค.์ด ๋งํฌ์ ์ ๋ช ๊ฐ์ง ์ ์ฉํ ์ ๋ณด๋ฅผ ์ถ๊ฐํ ์ค๋น๊ฐ ๋ ์์๋ฅผ ๋ง๋ญ๋๋ค.
<apex:page> <apex:pageBlock title="Account Summary"> <apex:pageBlockSection> </apex:pageBlockSection> </apex:pageBlock> </apex:page>
-
Preview(๋ฏธ๋ฆฌ๋ณด๊ธฐ)๋ฅผ ํด๋ฆญํ์ฌ ๋ณ๊ฒฝ ์ ๋ณผ ์ ์๋ ํ์ด์ง ๋ฏธ๋ฆฌ๋ณด๊ธฐ๋ฅผ ์ฝ๋๋ค. ๋ฏธ๋ฆฌ๋ณด๊ธฐ ์ฐฝ์ URL ํ๋๊ฐ ๋ณด์ด๋์ง ํ์ธํฉ๋๋ค. ๋ช ๋จ๊ณ๋ง ๊ฑฐ์น๋ฉด ๋ฐ๋ก ์ด ๋ฌธ์ ๋ก ๋์์ฌ ์ ์์ต๋๋ค.
- ๋ณ๋์ ๋ธ๋ผ์ฐ์ ์ฐฝ์์ ์กฐ์ง์ ํ ํ์ด์ง๋ก ์ด๋ํ ๋ค์ ๊ณ์ ํญ์ ์ ํํฉ๋๋ค. ๊ณ์ ํญ์ด ํ์๋์ง ์์ผ๋ฉด ์ค๋ฅธ์ชฝ ์๋จ ๋ชจ์๋ฆฌ์ ์๋ ์ ํ๋ฆฌ์ผ์ด์
๋ฉ๋ด์์ ์์
์ ์ ํํ์ฌ ์์
์ ํ๋ฆฌ์ผ์ด์
์ผ๋ก ์ ํํฉ๋๋ค.
- ๋ณด๊ธฐ ๋ฉ๋ด์ ๋ชจ๋ ๊ณ์ ์ด ํ์๋๋์ง ํ์ธํฉ๋๋ค.
- ๋ชจ๋ ๊ณ์ ํ์ด์ง์์ ๊ณ์ ์ด๋ฆ์ ํด๋ฆญํฉ๋๋ค.
- ๊ณ์ ์ธ๋ถ ์ฌํญ ํ์ด์ง๋ฅผ ๋ก๋ํ ๊ฒฝ์ฐ ํ์ด์ง์ URL์ ํ์ธํฉ๋๋ค. ํด๋น URL
https://MyDomainName.lightning.force.com/lightning/r/Account/001D000000JRBes/view์ ๊ฐ์ ํ์์ด ๋ฉ๋๋ค. ๋ ์ฝ๋์ ์๋ณ์์ธ ID๋ ์ผ๋ จ์ ๋ฌธ์์ ์ซ์์ ๋๋ค. ์ด ์์์๋001D000000JRBes์ ๋๋ค(๊ทธ๋ฌ๋ ์ฌ๋ฌ๋ถ์ ์กฐ์ง์์๋ ๋ค๋ฅผ ๊ฒ์ ๋๋ค). ์กฐ์ง์ ๋ชจ๋ ๊ฐ์ฒด ์ ํ์ ๋ํ ๋ชจ๋ ๋ ์ฝ๋์์ ๊ณ ์ ํฉ๋๋ค.
- ๋ ์ฝ๋ ID๋ฅผ ์ ํํ๊ณ ํด๋ฆฝ๋ณด๋์ ๋ณต์ฌํฉ๋๋ค. ๊ณ์ ์ธ๋ถ ์ฌํญ ํ์ด์ง๋ฅผ ๋ ๋๊ธฐ ์ ์ ์ ์ฒด ํ์ด์ง์ ์ฌ๊ธฐ์ ํ์๋ ์ ๋ณด๋ฅผ ์ดํด๋ณด์ธ์. [๋์ฒด ํ
์คํธ: ๊ณ์ ์ธ๋ถ ์ฌํญ ํ์ด์ง] ๋จ์ง ๋ ์ฝ๋ ID๋ฅผ ์ป๊ธฐ ์ํ ์ฐํ๊ฐ ์๋๋๋ค. ์ฌ๊ธฐ์์ ์๋ฃํ๊ธฐ ์ ์ Visualforce ์ฝ๋์์ ๋์ผํ ์ ๋ณด๋ฅผ ํ์ํ๋ ํ์ด์ง๋ฅผ ์์ฑํ๋ ๋ฐฉ๋ฒ์ ์์๋ณด๊ฒ ์ต๋๋ค.
- Developer Console์์ ์ด์๋ ๋ฏธ๋ฆฌ๋ณด๊ธฐ ํ์ด์ง๋ก ๋ค์ ์ ํํฉ๋๋ค. ๋ธ๋ผ์ฐ์ ์ฐฝ์ URL ํ๋๋ฅผ ํด๋ฆญํ๊ณ URL ๋์
&id=๋ฅผ ์ ๋ ฅํ ๋ค์ ์ด์ ์ ๋ณต์ฌํ ๋ ์ฝ๋ ID๋ฅผ ๋ถ์ฌ๋ฃ์ต๋๋ค. URL์https://MyDomainName.lightning.force.com/apex/AccountSummary?core.apexpages.request.devconsole=1&id=001D000000JRBes์ ๊ฐ์ ํ์์ด์ด์ผ ํฉ๋๋ค. - Return ํค๋ฅผ ๋๋ฌ ์ URL์์ ํ์ด์ง๋ฅผ ๋ก๋ํฉ๋๋ค.
๋ ์ฝ๋ ID๊ฐ ์๋ ๋ฏธ๋ฆฌ๋ณด๊ธฐ ํ์ด์ง๋ฅผ ๋ก๋ํ๋๋ผ๋ ์์ง ๋ฌ๋ผ ๋ณด์ด์ง ์์ง๋ง ID๋ฅผ ์ถ๊ฐํ๋ฉด ์ด์ ํด๋น ๋ ์ฝ๋๋ฅผ ๋ก๋ํ๊ณ ํ์ด์ง์์ ์ฌ์ฉํ ์ ์๋๋ก ํ์ฌ ํ์ค ์ปจํธ๋กค๋ฌ์ ๋์์ ์์ฒญํ ์ ์์ต๋๋ค.
Lightning Experience ์ปจํ
์คํธ์์ ํ์ด์ง๋ฅผ ๋ฏธ๋ฆฌ ๋ณด๋ ค๋ฉด ๊ณ์ ์ธ๋ถ ์ฌํญ ํ์ด์ง๋ฅผ ๋ณผ ์ ์๋ ๊ธฐ๋ณธ ๋ธ๋ผ์ฐ์ ์ฐฝ์ผ๋ก ๋์๊ฐ๋๋ค. ๊ณ์ ์ธ๋ถ ์ฌํญ ํ์ด์ง์์ ๋ธ๋ผ์ฐ์ ์ JavaScript ์ฝ์์ ์ด๊ณ ๋ค์ ์ฝ๋๋ฅผ ์
๋ ฅํฉ๋๋ค. pageName์ ์ฌ๋ฌ๋ถ์ ํ์ด์ง ์ด๋ฆ์ผ๋ก ๋ณ๊ฒฝํ๋ ๊ฒ์ ์์ง ๋ง์ธ์.
$A.get("e.force:navigateToURL").setParams( {"url": "/apex/pageName"}).fire();JavaScript์ URL ๋์ ๋ ์ฝ๋ ID ๋งค๊ฐ๋ณ์๋ฅผ ์ถ๊ฐํ์ฌ ์ด๋ฌํ ๋ฐฉ์์ผ๋ก ๋ ์ฝ๋ ID๊ฐ ์๋ ํ์ด์ง๋ฅผ ๋ฏธ๋ฆฌ ๋ณผ ์๋ ์์ต๋๋ค.
$A.get("e.force:navigateToURL").setParams(
{"url": "/apex/pageName?id=00141000004jkU0AAI"}).fire();๋จ์ผ ๋ ์ฝ๋์ ๋ฐ์ดํฐ ํ์
๊ณ์ ์ ๋ํ ํ์ค ์ปจํธ๋กค๋ฌ๋ฅผ ํ์ด์ง์ ์ถ๊ฐํ ๋ค์ ๊ณ์ ํ๋๋ฅผ ์ฐธ์กฐํ์ฌ ๋ ์ฝ๋ ๋ฐ์ดํฐ๋ฅผ ํ์ํฉ๋๋ค.
์ด์ ์น์ ์์ ๋ฐฉ๊ธ ๋ก๋ํ ํ์ด์ง URL์์ ๋ค์ ๋จ๊ณ๋ฅผ ์ํํ์ฌ ๊ณ์ ์์ฝ์ ํ์ํ๋ ํ์ด์ง๋ฅผ ๋ง๋ญ๋๋ค.
- ํ์ด์ง ๋งํฌ์
์์ ๋ถ๋ถ์
<apex:page>ํ๊ทธ์ ๋ค์ ์์ฑ์ ์ถ๊ฐํฉ๋๋ค.standardController="Account"์ง๊ธ ํ์ด์ง๋ฅผ ์ ์ฅํ๋ฉด ์ด์ ๊ณผ ๋ง์ฐฌ๊ฐ์ง๋ก ๋ฏธ๋ฆฌ๋ณด๊ธฐ ํ์ด์ง๊ฐ ๋ค์ ๋ก๋๋์ง๋ง ์ด๋ฒ์๋ ๊ณ์ ์ ๋ํ ํ์ค ์ปจํธ๋กค๋ฌ๊ฐ ํ์ฑํ๋ฉ๋๋ค. ํ์ด์ง๊ฐ ๋ก๋๋๋ฉด ํ์ค ์ปจํธ๋กค๋ฌ๋ URL์ ๋งค๊ฐ๋ณ์๋ฅผ ๊ตฌ๋ฌธ ๋ถ์ํ๊ณ id ๋งค๊ฐ๋ณ์๋ฅผ ์ฐพ์ ๋ค์ ํด๋น ๊ฐ์ ์ฌ์ฉํ์ฌ ๋ ์ฝ๋๋ฅผ ๊ฒ์ํ๊ณ ํ์ด์ง์์ ์ฌ์ฉํ ์ ์๋๋ก ํฉ๋๋ค. ์์ง ํ์๋์ง ์์ง๋ง ์์ต๋๋ค.
- ํ์ด์ง ๋ณธ๋ฌธ์ ๋ค์ ๋งํฌ์
์ ์ถ๊ฐํฉ๋๋ค.
Name: {! Account.name }์ด์ ๋ ์ฝ๋๊ฐ ๊ฒ์๋๋ ๊ฒ์ ๋ณผ ์ ์์ต๋๋ค. URL์ ์ถ๊ฐํ ๋ ์ฝ๋ ID๊ฐ ์๋ ๊ณ์ ์ ์ด๋ฆ์ด ํ์๋์ด์ผ ํฉ๋๋ค.
- ํ๋์ ๋ผ์ธ์ ๋ค์ ๋งํฌ์
์ด ์๋ ๊ณ์ ์ด๋ฆ์ผ๋ก ๋ณ๊ฒฝํฉ๋๋ค.์ ์ฒด ์ฝ๋๋ ๋ค์๊ณผ ๊ฐ์์ผ ํฉ๋๋ค.
Name: {! Account.Name } <br/> Phone: {! Account.Phone } <br/> Industry: {! Account.Industry } <br/> Revenue: {! Account.AnnualRevenue } <br/>๊ฒฐ๊ณผ๋ ๊ฐ๋จํ ๊ณ์ ์์ฝ์ด์ด์ผ ํฉ๋๋ค.ย<apex:page standardController="Account"> <apex:pageBlock title="Account Summary"> <apex:pageBlockSection> Name: {! Account.Name } <br/> Phone: {! Account.Phone } <br/> Industry: {! Account.Industry } <br/> Revenue: {! Account.AnnualRevenue } <br/> </apex:pageBlockSection> </apex:pageBlock> </apex:page>

๋ฌด์จ ์ผ์ธ๊ฐ์? ํ์ค ์ปจํธ๋กค๋ฌ๋ฅผ ํตํด ๋ง์ ์์ ์ ํ ์ ์์ต๋๋ค.
- ํ์ด์ง๊ฐ ๋ก๋๋๊ณ
<apex:page>๊ตฌ์ฑ ์์๊ฐ ํ์ฑํ๋๋ฉด ๊ณ์ ๊ฐ์ฒด์ ๋ํ ํ์ค ์ปจํธ๋กค๋ฌ๊ฐ ํ์ฑํ๋ฉ๋๋ค.
- ํ์ค ์ปจํธ๋กค๋ฌ๋ URL์ ID ๋งค๊ฐ๋ณ์๊ฐ ์์์ ํ์ธํ๊ณ ์ผ์นํ๋ ๊ณ์ ๋ ์ฝ๋๋ฅผ ๊ฒ์ํฉ๋๋ค.
- ํ์ค ์ปจํธ๋กค๋ฌ๋ ๋ ์ฝ๋๋ฅผ ๊ฐ์ ธ์ ํ์ด์ง์์ ์ฌ์ฉํ ์ ์๋๋ก ๋ณ์์ ๋ฃ์ต๋๋ค. ๋ณ์๋ ํ์ค ์ปจํธ๋กค๋ฌ์ sObject: ๊ณ์ ๊ณผ ๋์ผํ ์ด๋ฆ์ ๊ฐ์ต๋๋ค. ์ด๋ ๊ฐ์ฒด ๋ณ์์ด๋ฉฐ ๊ณ์ sObject์์ ์ฌ์ฉํ ์ ์๋ ๋ชจ๋ ํ๋๋ฅผ ํฌํจํฉ๋๋ค.
- ๋ค ๊ฐ์ง Visualforce ํํ์์ ๋ชจ๋ ๊ณ์ ๋ณ์๋ฅผ ์ฐธ์กฐํฉ๋๋ค. ์ ํ๊ธฐ๋ฒ์ ์ฌ์ฉํ์ฌ ๊ณ์ ๋ณ์ ๋ด์ ๊ฐ๋ณ ํ๋์ ์ก์ธ์คํฉ๋๋ค.
{!Account.Name }์(๋) ๊ณ์ ์ด๋ฆ ๋ฑ์ ๊ฐ์ ธ์ต๋๋ค.
๊ทธ๋ฐ๋ฐ ๋งค์ถ ์์น๋ ์ด๋ป๋์? ๊ณผํ์ ํ๊ธฐ๋ฒ์ผ๋ก ํ์๋ฉ๋๋ค. ๋์ ํตํ๋ก ์ด๋ป๊ฒ ํ์ํ ์ ์๋์?
์ซ์๊ฐ ๊ณผํ์ ํ๊ธฐ๋ฒ์์ "์์" ๊ฐ์ผ๋ก ํ์๋๋ ์ด์ ๋ ์ซ์๊ฐ ํํ์์ ์ํด ์ง์ ์ถ๋ ฅ๋๊ธฐ ๋๋ฌธ์ ๋๋ค. ํ์ด์ง์ ์์ ๊ฐ์ ์ง์ ๋ฃ๋ ๊ฒ์ ๋๋ค. ๊ฐ์ ํ์์ ์ ์ดํ๋ ค๋ฉด ๊ตฌ์ฑ ์์๋ฅผ ์ฌ์ฉํ๊ณ ๊ตฌ์ฑ ์์์ ์ฒ๋ฆฌํ ๊ฐ์ ์ ๊ณตํด์ผ ํฉ๋๋ค. ๊ตฌ์ฑ ์์๋ ์์ ๊ฐ์ ๊ฐ์ ธ์ ์ ์ ํ๊ฒ ํ์์ ์ง์ ํ ๋ค์ ๊ฒฐ๊ณผ๋ฅผ ํ์ด์ง์ ์ถ๋ ฅํฉ๋๋ค. ๋ค์์ ์ดํด๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค. ์ฌ๊ธฐ์๋ ๋ ์ฝ๋ ๋ฐ์ดํฐ์ ์ก์ธ์คํ๋ ๋ฐ๋ง ๊ด์ฌ์ด ์์ต๋๋ค.
๊ด๋ จ ๋ ์ฝ๋์ ํ๋ ํ์
์ ํ๊ธฐ๋ฒ์ ์ฌ์ฉํ์ฌ ๊ด๋ จ ๋ ์ฝ๋์ ๋ฐ์ดํฐ๋ฅผ ํ์ํฉ๋๋ค.
์๋ฅผ ๋ค์ด, ๊ณ์ ์ ๋ํ ๊ฐ์ฒด ์ธ๋ถ ์ฌํญ์ ๋ณด๋ ๋์ ๊ณ์ ๊ฐ์ฒด์ ๊ณ์ ์์ ์๋ผ๋ ํ๋๊ฐ ์๊ณ ํด๋น ์ ํ์ด ์กฐํ(์ฌ์ฉ์)์์ ํ์ธํ ์ ์์ต๋๋ค. ์ฆ, ์ด ํ๋๋ ์ฌ์ฉ์ ๋ ์ฝ๋์ ๊ด๊ณ๊ฐ ์์ต๋๋ค. ๊ณ์ ์์ ์ ํ๋ ๋ ์ด๋ธ ๋งํฌ๋ฅผ ํด๋ฆญํ๋ฉด ํด๋น ํ๋ ์ด๋ฆ์ด ์์ ์์์ ์ ์ ์์ต๋๋ค.
์์ ์ ๊ด๊ณ๋ ์ฌ์ฉ์๋ฅผ ๋ํ๋ ๋๋ค. Setup(์ค์ )์์ Object Manager(๊ฐ์ฒด ๊ด๋ฆฌ์) | User(์ฌ์ฉ์) | Fields & Relationships(ํ๋ ๋ฐ ๊ด๊ณ)๋ก ์ด๋ํ ๊ฒฝ์ฐ ์ฌ์ฉ์์๊ฒ ์ด๋ฆ ํ๋๊ฐ ์์์ ์ ์ ์์ต๋๋ค. ์ด ์ ๋ณด๋ฅผ ์ฌ์ฉํ์ฌ ํ์ํด ๋ณด๊ฒ ์ต๋๋ค.
๊ณ์ ์ด๋ฆ ์ ์ ํ์ด์ง ๋ณธ๋ฌธ์ ๋ค์ ๋ผ์ธ์ ์ถ๊ฐํฉ๋๋ค.
Account owner: {! Account.Owner.Name } <br/>์ ํ๊ธฐ๋ฒ(Account.Owner.Name)์ ๋ ์ฝ๋ ๊ฐ์ ๊ด๊ณ๋ฅผ ํ์ํ ์ ์๋ค๋ ์ ์ ๋ํ๋
๋๋ค. Account.Owner๋ ๊ณ์ ๋ ์ฝ๋์ ์์ ์ ํ๋๋ฅผ ๋ํ๋
๋๋ค. ๋์ ์๋ ์ถ๊ฐ ์ด๋ฆ์ ์์ ์ ํ๋๊ฐ ๋ฌธ์์ด์ ๋ํ๋ด๋ ๋จ์ํ ํ๋๊ฐ ์๋๋ผ ๋ค๋ฅธ ๋ ์ฝ๋(์ด ๊ฒฝ์ฐ ์กฐํ(์ฌ์ฉ์))์ ๋ํ ๊ด๊ณ์ด๋ฉฐ ์์ ์ ํ๋(์ฌ์ฉ์ ๋ ์ฝ๋)์ ๊ฐ์ผ๋ก ํํ๋๋ ๋ ์ฝ๋๋ฅผ ๊ฐ์ ธ์ค๋ ค๋ ๊ฒ์ ๋ํ๋ด๊ณ ํด๋น ๋ ์ฝ๋์ ์ด๋ฆ ํ๋๋ฅผ ํ์ํฉ๋๋ค.
์ถ๊ฐ ์ ๋ณด ์์๋ณด๊ธฐ
ํ์ค ์ปจํธ๋กค๋ฌ๋ ๋งค์ฐ ๊ฐ๋ ฅํ๋ฉฐ ์ด์ ์กฐ๊ธ ์์๋ดค์ต๋๋ค. ๋ค๋ฅธ ๊ณณ์์ ํ์ค ์ปจํธ๋กค๋ฌ์ ๋ํด ๋ ๋ง์ด ์์๋ณด๊ฒ ์ง๋ง ๋ค์๊ณผ ๊ฐ์ด ๋ช ๊ฐ์ง ์ฃผ์ ์ฌํญ์ด ์์ต๋๋ค.
์ฌ๊ธฐ์ ์ค๋ช ๋ ์์ฌ์ด ๋ฐ์ดํฐ ์ก์ธ์ค ์ธ์๋ ํ์ค ์ปจํธ๋กค๋ฌ๋ ๋ฒํผ ๋ฐ ๋งํฌ์ ๊ฐ์ ํ์ค ์ฌ์ฉ์ ์ธํฐํ์ด์ค ์์๋ฅผ ์ฌ์ฉํ์ฌ ํ์ด์ง์ ์ถ๊ฐํ ์ ์๋ ์์ฑ, ํธ์ง, ์ ์ฅ ๋ฐ ์ญ์ ์ ๊ฐ์ ์ผ๋ จ์ ํ์ค ์์ ์ ์ ๊ณตํฉ๋๋ค. Visualforce ์ ๋ ฅ ์์์ ๋ํด ๋ฐฐ์ฐ๊ณ ๋ณ๊ฒฝ ์ฌํญ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ค์ ์ ์ฅํ๋ฉด ์ด๋ฌํ ํ์ค ์์ ์ ๋ํด ์์ธํ ์์๋ณผ ์ ์์ต๋๋ค.
๊ฐ์ฒด์ ํ์ด์ง ๋ ์ด์์ ๋ด์ ํฌํจํ๊ฑฐ๋ ๊ฐ์ฒด๋ณ ์ฌ์ฉ์ ์ ์ ์์ ์ผ๋ก ์ฌ์ฉํ๊ฑฐ๋ Salesforce ์ฑ์์ ๋ชจ๋ฐ์ผ ์นด๋๋ก ์ฌ์ฉํ๋ ค๋ Visualforce ํ์ด์ง๋ ๊ด๋ จ ๊ฐ์ฒด์ ๋ํ ํ์ค ์ปจํธ๋กค๋ฌ๋ฅผ ์ฌ์ฉํด์ผ ํฉ๋๋ค.
๊ณ์ ๊ณผ ๊ฐ์ ๊ฐ์ฒด๋ฅผ ์ฌ์ฉํ๋ ๋์ ์ฌ์ฉ์ ์ ์ ๊ฐ์ฒด๋ฅผ ์์ฑํ๊ณ ํ๋๋ฅผ ์ฐธ์กฐํ๋ ๋ฐฉ๋ฒ์ ์์๋ณด๋ ค๋ฉด ๋ค์ ๋ค๋ฅธ ์ ์ฐจ๋ฅผ ๋ฐ๋ผ์ผ ํฉ๋๋ค. Setup(์ค์ )์ Quick Find(๋น ๋ฅธ ์ฐพ๊ธฐ) ์์์ Object Manager๋ฅผ ์
๋ ฅํ ๋ค์ Object Manager(๊ฐ์ฒด ๊ด๋ฆฌ์) | <์ฌ์ฉ์ ์ ์ ๊ฐ์ฒด> | Fields & Relationships(ํ๋ ๋ฐ ๊ด๊ณ)๋ฅผ ์ ํํฉ๋๋ค. ํ๋๋ฅผ ์ฐพ์ ์ ํํฉ๋๋ค. API ์ด๋ฆ์ ์ด์ Visualforce ํ์ด์ง์์ ์ฌ์ฉํด์ผ ํ๋ ํ๋์ ์ด๋ฆ์ ๋ํ๋
๋๋ค. ์๋ฅผ ๋ค์ด ํ๋ ์ด๋ฆ์ด Foo์ธ ๊ฒฝ์ฐ ํด๋น API ์ด๋ฆ์ Foo__c์ด๊ณ {!myobject__c.foo__c}๊ณผ(์) ๊ฐ์ด ํด๋น ์ด๋ฆ์ผ๋ก ์ฐธ์กฐํฉ๋๋ค.
ํ์ค ์ปจํธ๋กค๋ฌ๋งํผ ๊ฐ๋ ฅํ์ง๋ง ๋ค๋ฅธ ์์ ์ ์ํํด์ผ ํ ๊ฒฝ์ฐ๊ฐ ์์ต๋๋ค. Visualforce์์๋ ๋ฌธ์ ๊ฐ ๋์ง ์์ต๋๋ค. Apex ์ฝ๋๋ฅผ ์ฌ์ฉํ์ฌ ์ธ์ ๋ ์ง ๊ต์ฒดํ๊ฑฐ๋ ํ์ฅํ ์ ์์ผ๋ฉฐ ๊ณ ์ ํ ์ปจํธ๋กค๋ฌ ๋๋ ๋ด์ฅ ์ปจํธ๋กค๋ฌ์ ๋ํ ํ์ฅ์ ์์ฑํ ์ ์์ต๋๋ค.
๋ฆฌ์์ค
- Visualforce ๊ฐ๋ฐ์ ๊ฐ์ด๋: ํ์ค ์ปจํธ๋กค๋ฌ
- Visualforce ๊ฐ๋ฐ์ ๊ฐ์ด๋: ํ์ค ๋ชฉ๋ก ์ปจํธ๋กค๋ฌ
- Salesforce ๊ฐ๋ฐ์ ๋ธ๋ก๊ทธ: ๋น ๋ฅด๊ฒ Twitter ๋ถํธ์คํธ๋ฉ ๋ฐ Visualforce ์ฌ์ฉ
