Monetary Policy Transmission in India: The Recent Experience - আৰবিআই - Reserve Bank of India
An error occurred while processing the template.
The following has evaluated to null or missing: ==> pDate [in template "20099#20125#21570576" at line 86, column 107] ---- Tip: If the failing expression is known to legally refer to something that's sometimes null or missing, either specify a default value like myOptionalVar!myDefault, or use <#if myOptionalVar??>when-present<#else>when-missing</#if>. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)?? ---- ---- FTL stack trace ("~" means nesting-related): - Failed at: #assign breadcrumbsUrlFilter = "/web/... [in template "20099#20125#21570576" at line 85, column 21] ----
1<style>
2 li.option.selected.select-category {
3 display: none;
4 }
5
6 li.option.selected.select-bulletin.selectOption {
7 display: none;
8 }
9</style>
10<#assign urlCurrent = themeDisplay.getURLCurrent() />
11<#assign hide = ""/>
12<#if urlCurrent?contains("/rbi/manage?")>
13 <#assign hide = "hide"/>
14</#if>
15<#assign user=themeDisplay.getUser() />
16<#assign roles=user.getRoles() />
17<#assign isDisplayTTS=true />
18<#assign className="" />
19<#list roles as role>
20 <#if role.getName()=="Content Checker" || role.getName()=="Content Maker" || role.getName()=="DOC Maker" ||
21 role.getName()=="DOC Checker">
22 <#assign isDisplayTTS=false />
23 <#assign className="border-0" />
24 </#if>
25</#list>
26
27<#assign UUID="" groupId=getterUtil.getLong(groupId) fileSize="" docURL="" FID="" FIDs="" />
28<#assign
29 dlFileEntryLocalService=serviceLocator.findService("com.liferay.document.library.kernel.service.DLFileEntryLocalService")
30 assetCategoryLocalService=serviceLocator.findService("com.liferay.asset.kernel.service.AssetCategoryLocalService")
31 journalArticleLocalService=serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService")
32 classNameLocalService=staticUtil["com.liferay.portal.kernel.service.ClassNameLocalServiceUtil"]
33 AssetVocabularyLocalService=serviceLocator.findService("com.liferay.asset.kernel.service.AssetVocabularyLocalService")
34 assetEntryLocalService=serviceLocator.findService("com.liferay.asset.kernel.service.AssetEntryLocalService")
35 article=journalArticleLocalService.getArticle(getterUtil.getLong(groupId),.vars['reserved-article-id'].data, getterUtil.getDouble(.vars['reserved-article-version'].data))
36 sectionMap='' categories=assetCategoryLocalService.getCategories("com.liferay.journal.model.JournalArticle",
37 article.getResourcePrimKey()) isVersion=false
38 classNameId=classNameLocalService.getClassNameId("com.liferay.journal.model.JournalArticle") />
39
40<#assign contentPublishDate_Data=getterUtil.getString(contentPublishDate.getData())>
41
42<#if validator.isNotNull(contentPublishDate_Data)>
43 <#assign contentPublishDate_DateObj=dateUtil.parseDate("yyyy-MM-dd", contentPublishDate_Data, locale)>
44 <#assign breadcrumbsDate=dateUtil.getDate(contentPublishDate_DateObj,"MMM dd, yyyy", locale)>
45 <#assign pDate=dateUtil.getDate(contentPublishDate_DateObj, "yyyy-MM-dd" , locale) />
46</#if>
47
48<#if categories?has_content>
49 <#list categories as category>
50 <#assign assetVocabulary=AssetVocabularyLocalService.fetchAssetVocabulary(category.getVocabularyId())
51 vocabularyName=assetVocabulary.getName() />
52 <#if vocabularyName=="newsectionmaster">
53 <#if sectionMap==''>
54 <#assign sectionMap=category.getTitle(locale) />
55 </#if>
56 </#if>
57 </#list>
58</#if>
59
60<input type="hidden" value="${sectionMap}" id="detail-section">
61<div id="skipContent"></div>
62
63<#-- Start breadcrumbs -->
64<div class="rbi-breadcrumbs-wrap rbi-simple-breadcrumbs-wrapper final-one full-width">
65 <div class="container">
66 <nav>
67 <ol class="breadcrumb rbi-simple-breadcrumbs">
68 <li class="breadcrumb-item">
69 <a href="/web/rbi/home">
70 ${languageUtil.get(locale, "home")}
71 </a>
72 </li>
73
74 <li class="breadcrumb-item">
75 <a href="/web/rbi/publications/publications-by-frequency">
76 ${languageUtil.get(locale,"research_publications")}
77 </a>
78 </li>
79 <li class="breadcrumb-item">
80 <a href="/web/rbi/publications/rbi-bulletin">
81 ${languageUtil.get(locale,"rbi-bulletin")}
82 </a>
83 </li>
84 <li class="breadcrumb-item">
85 <#assign
86 breadcrumbsUrlFilter="/web/rbi/publications/rbi-bulletin/index?&publishDateFrom=${pDate}&publishDateTo="
87 +pDate+"&monthAndYear=false" />
88 <a href=${breadcrumbsUrlFilter}>
89 ${languageUtil.get(locale,"rbi-bulletin")}- ${breadcrumbsDate}
90 </a>
91
92 </li>
93 <li class="breadcrumb-item active" aria-current="page">
94 <#if (Text56127103.getData())?has_content>
95 ${Text56127103.getData()}
96 <#else>
97 ${.vars['reserved-article-title'].data}
98 </#if>
99 </li>
100
101 </ol>
102 </nav>
103 </div>
104</div>
105<#-- End breadcrumbs -->
106
107<#assign URL=article.getExpandoBridge().getAttribute("pdf-url")
108 ExcelURL=article.getExpandoBridge().getAttribute("doc-url") />
109<!--<#if URL?has_content>
110 <#list URL?keys as key>
111 <#if key==locale>
112 <#assign docURL=URL?values[key_index] />
113 </#if>
114 </#list>
115</#if>
116<#if ExcelURL?has_content>
117 <#list ExcelURL?keys as key>
118 <#if key==locale>
119 <#assign excelURL=ExcelURL?values[key_index] />
120 </#if>
121 </#list>
122</#if>
123<#if docURL?has_content>
124 <#list docURL?split("/") as sValue>
125 <#if sValue?is_last>
126 <#list sValue?split("?") as uuid>
127 <#if uuid?is_first>
128 <#assign UUID=uuid />
129 </#if>
130 </#list>
131 </#if>
132 </#list>
133</#if>
134<#if excelURL?has_content>
135 <#list excelURL?split("/") as sValue>
136 <#if sValue?is_last>
137 <#list sValue?split("?") as uuid>
138 <#if uuid?is_first>
139 <#assign UUIDs=uuid />
140 </#if>
141 </#list>
142 </#if>
143 </#list>
144</#if>
145<#if UUID?has_content>
146 <#attempt>
147 <#assign dlFileEntry=dlFileEntryLocalService.fetchFileEntry(UUID,groupId?number)
148 fileSize=dlFileEntry.getSize()
149 fileAssetEntry=assetEntryLocalService.getEntry("com.liferay.document.library.kernel.model.DLFileEntry",
150 dlFileEntry.getFileEntryId()) docURL=fileAssetEntry.getAssetRenderer().getURLDownload(themeDisplay)
151 docURL=docURL?replace("/"+UUID,"") />
152 <#recover>
153 </#attempt>
154</#if>
155<#if UUIDs?has_content>
156 <#attempt>
157 <#assign DLFileEntry=dlFileEntryLocalService.fetchFileEntry(UUIDs,groupId?number)
158 excelFileSize=DLFileEntry.getSize()
159 fileAssetEntry=assetEntryLocalService.getEntry("com.liferay.document.library.kernel.model.DLFileEntry",DLFileEntry.getFileEntryId())
160 excelURL=fileAssetEntry.getAssetRenderer().getURLDownload(themeDisplay) />
161 <#recover>
162 </#attempt>
163
164</#if>-->
165<#if docURL?has_content>
166
167 <#if docURL?contains("fileEntryId")>
168
169 <#list docURL?split("?") as sValue>
170 <#if sValue?is_last>
171
172 <#list sValue?split("=") as fid>
173
174 <#if fid?is_last>
175
176 <#assign FID=fid />
177 </#if>
178 </#list>
179 </#if>
180 </#list>
181
182
183 <#else>
184
185 <#list docURL?split("/") as sValue>
186 <#if sValue?is_last>
187 <#list sValue?split("?") as uuid>
188 <#if uuid?is_first>
189 <#assign UUID=uuid />
190 </#if>
191 </#list>
192 </#if>
193 </#list>
194</#if>
195</#if>
196<#if excelURL?has_content>
197
198 <#if excelURL?contains("fileEntryId")>
199
200 <#list excelURL?split("?") as sValue>
201 <#if sValue?is_last>
202
203 <#list sValue?split("=") as fid>
204
205 <#if fid?is_last>
206
207 <#assign FIDs=fid />
208 </#if>
209 </#list>
210 </#if>
211 </#list>
212
213
214 <#else>
215
216 <#list excelURL?split("/") as sValue>
217 <#if sValue?is_last>
218 <#list sValue?split("?") as uuid>
219 <#if uuid?is_first>
220 <#assign UUIDs=uuid />
221 </#if>
222 </#list>
223 </#if>
224 </#list>
225</#if>
226</#if>
227<#if UUID?has_content || FID?has_content>
228
229
230<#attempt>
231
232 <#if FID?has_content>
233 <#assign dlFileEntry=dlFileEntryLocalService.fetchDLFileEntry(FID?number) />
234 <#else>
235 <#assign dlFileEntry=dlFileEntryLocalService.fetchFileEntry(UUID,groupId?number)
236 fileAssetEntry=assetEntryLocalService.getEntry("com.liferay.document.library.kernel.model.DLFileEntry",
237 dlFileEntry.getFileEntryId())/>
238 </#if>
239 <#assign fileSize=dlFileEntry.getSize()/>
240
241 <#if UUID?has_content>
242 <#assign docURL=fileAssetEntry.getAssetRenderer().getURLDownload(themeDisplay)/>
243 <#assign docURL=docURL?replace("/"+UUID,"") />
244 </#if>
245<#recover>
246 </#attempt>
247</#if>
248<#if UUIDs?has_content || FIDs?has_content>
249
250
251<#attempt>
252
253 <#if FIDs?has_content>
254 <#assign dlFileEntry=dlFileEntryLocalService.fetchDLFileEntry(FIDs?number) />
255 <#else>
256 <#assign dlFileEntry=dlFileEntryLocalService.fetchFileEntry(UUIDs,groupId?number)
257 fileAssetEntry=assetEntryLocalService.getEntry("com.liferay.document.library.kernel.model.DLFileEntry",
258 dlFileEntry.getFileEntryId())/>
259 </#if>
260 <#assign excelFileSize=dlFileEntry.getSize()/>
261
262 <#if UUIDs?has_content>
263 <#assign excelURL=fileAssetEntry.getAssetRenderer().getURLDownload(themeDisplay)/>
264 <#assign excelURL=excelURL?replace("/"+UUIDs,"") />
265 </#if>
266<#recover>
267 </#attempt>
268</#if>
269
270<#assign id=article.getId() structureKey=article.getDDMStructureId()?number structureKey=structureKey>
271 <div id="articleUniqueID" class="hide">${id}</div>
272
273 <div class="rbi_bulletin_detail_page_wrapper">
274 <div class="container pl-0 pr-0">
275 <#assign allCategory=assetCategoryLocalService.getChildCategories(21553103) />
276 <#if allCategory?has_content>
277 <div class="col-12">
278 <div class="row ${hide}">
279 <div class="col-12 col-md-3 ${hide}">
280 <div
281 class="dropdown-no-search txt-search--dd txt-search--dd--lg filter-box-dropdown-searchable">
282 <div class="filter-single-dropdown-hidden" style="display: none;"><input type="text"
283 placeholder="${languageUtil.get(locale,"bulletin-search-category")} " class=" filter-box-dropdown-searchbox"></div>
284 <select class="select-category">
285 <option value="">${languageUtil.get(locale,"bulletin-select-category")}
286 </option>
287
288 </select>
289 </div>
290 </div>
291 <div class="col-12 col-md-9">
292 <div
293 class="dropdown-no-search txt-search--dd txt-search--dd--lg filter-box-dropdown-searchable">
294 <div class="filter-single-dropdown-hidden" style="display: none;">
295 <input type="text" placeholder="${languageUtil.get(locale,"bulletin-search-bulletin")}"
296 class=" filter-box-dropdown-searchbox">
297 </div>
298 <select class="select-bulletin selectOption">
299 <option value="">${languageUtil.get(locale,"bulletin-select-bulletin")}
300 </option>
301 </select>
302 </div>
303
304 </div>
305 </div>
306 </div>
307 </#if>
308
309 <div class="Notification-content-wrap full-width dynamic-resize" tabindex="0">
310 <div class="published-on-wrapper">
311 <div class="container-fluid">
312 <div class=" published-on-contents">
313 <div class="row no-gutters article-published-row-wrapper">
314 <div class="article-published-dates-wrapper">
315
316 <div class="article-published-date">
317 <span class="published-date">
318 ${languageUtil.get(locale,"published-on")}
319 <#assign CONTENT_PUBLISH_DATE_Data=contentPublishDate_Data>
320
321 <#if validator.isNotNull(CONTENT_PUBLISH_DATE_Data)>
322 <#assign
323 CONTENT_PUBLISH_DATE_DateObj=dateUtil.parseDate("yyyy-MM-dd",
324 CONTENT_PUBLISH_DATE_Data, locale)>
325
326 ${dateUtil.getDate(CONTENT_PUBLISH_DATE_DateObj,"MMMM dd, yyyy", locale)}
327 </#if>
328 </span>
329 </div>
330 </div>
331 <div class="article-tts-view-pdf-wrapper">
332
333 <div class="article-text-to-speach-wrapper">
334 <#if isDisplayTTS>
335 <div class="listen-header">
336 <a href="javascript:void(0);" id="textSpeechButton"
337 class="tts-listen-audio">
338 <button class="player-button-outer-top">
339 <img src="/documents/20125/174906/speech-to-text-play.svg"
340 alt="${languageUtil.get(locale," listen")}" />
341 </button>
342 <span
343 class="article-text-to-speach textSpeechButton">${languageUtil.get(locale,"listen")}</span>
344 </a>
345 </div>
346 </#if>
347
348 </div>
349
350 <div class="social-media-view-on d-none">
351 View on
352 </div>
353
354
355 <div class="download-pdf-wrapper">
356 <div class="btn-wrap">
357 <#if docURL?? && docURL?has_content>
358 <div class="inner-wrap">
359 <a href="${docURL?split('?')[0]}" target="_blank"
360 class="matomo_download">
361 <img src="/documents/70233/0/fileDownload.svg"
362 class="downloadFile"
363 alt="${languageUtil.get(locale,'download')}"
364 title="${languageUtil.get(locale,'download')}">
365 <span class="fileName matomo_download">
366 ${languageUtil.get(locale,"pdf")} (<span
367 class="fileSize">${fileSize}</span>)
368 </span>
369 </a>
370 </div>
371 </#if>
372 <#if excelURL?? && excelURL?has_content>
373 <div class="inner-wrap">
374
375 <a href="${excelURL?split('?')[0]}" class="matomo_download"
376 target="_blank">
377 <img src="/documents/70233/0/fileDownload.svg"
378 class="downloadFile"
379 alt="${languageUtil.get(locale,'download')}"
380 title="${languageUtil.get(locale,'download')}">
381 <span class="fileName matomo_download">
382 <#if excelURL?contains(".doc")>
383 ${languageUtil.get(locale,"doc")}
384 <#else>
385 ${languageUtil.get(locale,"excel")}
386 </#if>(
387 <span class="fileSize">${excelFileSize}</span> )
388 </span> </a>
389 </div>
390 </#if>
391 </div>
392 </div>
393 </div>
394 </div>
395 </div>
396 </div>
397
398
399 <div id="mainContent">
400 <div class="published-content-wrapper migrated-data-heading">
401 <div class="container-fluid">
402 <div class="published-contents">
403 <div class="row no-gutters">
404 <div class="col-md-12 col-12">
405 <h2 class="section-heading" id="mtm_details_page_heading">
406 <#if (Text56127103.getData())?has_content && Text56127103.getData()??>
407 ${Text56127103.getData()}
408 <#else>
409 ${.vars['reserved-article-title'].data}
410 </#if>
411 </h2>
412 </div>
413
414 <div class="col-12">
415 <div id="migrated_data_dummy" class="d-none"></div>
416 <div class="migrated-data-wrap ${hide}">
417 <div class="tablebg">
418 <#if (bulletinDetails.getData())?? &&
419 bulletinDetails.getData()?has_content>
420 ${bulletinDetails.getData()}
421 </#if>
422 </div>
423 </div>
424 </div>
425 </div>
426 </div>
427 </div>
428 </div>
429 </div>
430 </div>
431 </div>
432 </div>
433 </div>
434<script>
435 const urlParams = new URLSearchParams(window.location.search);
436 const paramCategory = urlParams.get('category');
437
438 var structureKey = ${ structureKey };
439
440 function onCategoryChange(categoryId) {
441 var apiUrl = "${themeDisplay.getURLPortal()}/o/rbi-bulletin-headless-api/v1.0/getJournals?ddmStructureId=${structureKey}&categoryId=" + categoryId + "&publishedDate=${pDate}&locale=${locale}";
442
443 $.get(apiUrl, function (data, status) {
444 var bulletinOptions = '';
445 var bulletinOptionsList = '<ul>';
446
447 jQuery.each(data.items, function (index, value) {
448
449 var regex = /^(?:[0-9A-Za-z]+[.:]\s*)*/g;
450 var bulletinData = value.journalName;
451
452 if (bulletinData == 'undefined') {
453 bulletinOptions += '<option value="' + value.friendlyURL + '">' + value.journalName + '</option>';
454
455 bulletinOptionsList += '<li class="option" data-value="' + value.friendlyURL + '" data-display-text="">' + value.journalName + ' </li>';
456 } else {
457 bulletinOptions += '<option value="' + value.friendlyURL + '">' + bulletinData + '</option>';
458
459 bulletinOptionsList += '<li class="option" data-value="' + value.friendlyURL + '" data-display-text="">' + bulletinData + ' </li>';
460 }
461
462 });
463
464 bulletinOptionsList += '</ul>'
465 $(".select-bulletin .list ul").remove();
466 $(".select-bulletin option").remove();
467
468 $(".select-bulletin .list").append(bulletinOptionsList);
469 });
470 }
471
472
473
474 function loadCategory() {
475
476 var apiUrl = "${themeDisplay.getURLPortal()}/o/rbi-bulletin-headless-api/v1.0/getCategory?ddmStructureKey=${structureKey}&publishedDate=${pDate}&locale=${locale}";
477
478 $.get(apiUrl, function (data, status) {
479
480 var bulletinOptions = '';
481 var bulletinOptionsList = '<ul>';
482 jQuery.each(data.items, function (index, value) {
483 if (value.CategoryId != "24033620") {
484 bulletinOptions += '<option value="' + value.CategoryId + '" >' + value.categoryName + '</option>';
485 bulletinOptionsList += '<li class="option" data-value="' + value.CategoryId + '" data-display-text="">' + value.categoryName + ' </li>';
486 }
487 });
488
489 bulletinOptionsList += '</ul>'
490 $(".select-category .list ul").remove();
491 $(".select-category option").remove();
492
493 $(".select-category .list").append(bulletinOptionsList);
494
495 });
496 }
497
498 window.addEventListener("load", function () {
499 const locationPath = location.pathname.split("/-/")[1];
500
501 if (paramCategory) {
502 $(".select-category ul li[data-value='" + paramCategory + "']").addClass("selected");
503 $(".select-category .current").text($(".select-category ul li[data-value='" + paramCategory + "']").text().trim()).addClass("current-selected");
504 let currentTitle = $("#mtm_details_page_heading").text().trim();
505 $(".select-bulletin .current").text(currentTitle).addClass("current-selected");
506 }
507 });
508
509 $(document).ready(function () {
510 loadCategory();
511
512 if (paramCategory) {
513 onCategoryChange(paramCategory);
514 }
515
516 $(".select-category").on('change', function (e) {
517 $('li').filter(function () { return $.text([this]) === 'Select Category '; }).remove();
518 $('li').filter(function () { return $.text([this]) === 'श्रेणी चुनें '; }).remove();
519 var optionSelected = $("li.option.select-category.selected").attr('data-value');
520
521 if (optionSelected != '') {
522 onCategoryChange(optionSelected);
523 }
524 });
525
526 $(".select-bulletin").on('change', function (e) {
527
528 let curCategory = $('.select-category ul li.selected').data('value');
529 var langauge = '${locale}';
530 var optionSelected = $("li.option.select-bulletin.selectOption.selected").attr('data-value');
531
532 if ((optionSelected != '') && (optionSelected !== undefined)) {
533
534 window.location.href = "/web/rbi/-/" + optionSelected + "?category=" + curCategory;
535 }
536 });
537
538 $(".fileSize").each(function () {
539 var fileSize = $(this).html()
540 if (fileSize != "") {
541 $(this).html(formatFileSize(parseInt(fileSize), 2))
542 }
543 });
544
545 function formatFileSize(bytes, decimalPoint) {
546 if (bytes == 0)
547 return '0 Bytes';
548 var k = 1024,
549 dm = decimalPoint || 2,
550 sizes = ['Bytes', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'],
551 i = Math.floor(Math.log(bytes) / Math.log(k));
552 return (parseFloat((bytes / Math.pow(k, i)).toFixed(dm)) + ' ' + sizes[i]);
553 }
554 });
555
556</script>
557
558<@liferay_portlet["runtime"] instanceId="99123457" portletName="com_liferay_rbi_tts_utility_RbiTtsCommonUtilityPortlet" />
এই পৃষ্ঠাটো সহায়ক আছিল নে?