Attach2
18.12.2023
Как настраивать плагин attach2 в TPL ?

примеры использования

 

На форуме

<!-- IF {FORUMS_POSTS_ROW_ID|att_count('forums',$this,'images')} > 0 -->
      {FORUMS_POSTS_ROW_ID|att_display('forums',$this)}
      {FORUMS_POSTS_ROW_ID|att_gallery('forums',$this)}
<!-- ENDIF -->
<!-- IF {FORUMS_POSTS_ROW_ID|att_count('forums',$this,'files')} > 0 -->
      {FORUMS_POSTS_ROW_ID|att_downloads('forums',$this)}
<!-- ENDIF -->

// с проверкой чтобы пользователь прикреплял только к своім постам
	<!-- IF {FORUMS_POSTS_ROW_UPDATEDBY} -->
		<div class="padding_forum_sys font_small">{FORUMS_POSTS_ROW_UPDATEDBY}</div>
	<!-- ENDIF -->		
	<!-- IF {FORUMS_POSTS_ROW_ID|att_count('forums',$this,'files')} > 0 -->
			{PHP.L.att_attachments}					  
	<!-- ENDIF -->
	<!-- IF {FORUMS_POSTS_ROW_ID|att_count('forums',$this,'images')} > 0 -->
			<p>{FORUMS_POSTS_ROW_ID|att_gallery('forums',$this)}</p>
	<!-- ENDIF -->
	<!-- IF {FORUMS_POSTS_ROW_ID|att_count('forums',$this,'files')} > 0 -->
			<p>{FORUMS_POSTS_ROW_ID|att_downloads('forums',$this)}</p>
	<!-- ENDIF -->

 

показывать вложения только зарегистированным пользователям и только приналичии вложений

<!-- IF {FORUMS_POSTS_ROW_ID|att_count('forums',$this,'files')} > 0 OR {FORUMS_POSTS_ROW_ID|att_count('forums',$this,'images')} > 0 -->
<!-- IF {PHP.usr.maingrp} > 1 -->
	<br>
		<div class="signature_delimiter"><hr></div>
	<br>
	<!-- IF {FORUMS_POSTS_ROW_ID|att_count('forums',$this,'images')} > 0 -->
			<p>{FORUMS_POSTS_ROW_ID|att_gallery('forums',$this)}</p>
	<!-- ENDIF -->
	<!-- IF {FORUMS_POSTS_ROW_ID|att_count('forums',$this,'files')} > 0 -->
			<p>{FORUMS_POSTS_ROW_ID|att_downloads('forums',$this)}</p>
	<!-- ENDIF -->
<!-- ENDIF -->
<!-- ENDIF -->

 

отобразит картинку в виде миникартинки

<!-- IF {FORUMS_POSTS_ROW_ID|att_count('forums',$this,'images')} > 0 -->
<img src="{FORUMS_POSTS_ROW_ID|att_get('forums',$this)|att_thumb($this,100,100,height)}" alt="{FORUMS_POSTS_ROW_ID|att_get('posts',$this,'title')}" class="img-fluid" />
<!-- ENDIF -->

 

На страницах

<!-- IF {PHP|cot_auth('plug', 'attach2', 'W')} -->
<li>{PAGE_ID|att_widget('page',$this,'attach2.link')}</li>
<!-- ENDIF -->

 

просмотр прикреплённого к странице

<!-- IF {PAGE_ID|att_count('page',$this)} > 0 -->
<div>
    <h3>{PHP.L.att_attachments}</h3>
    {PAGE_ID|att_display('page',$this)}  //   всего прикреплённого списком 
    {PAGE_ID|att_gallery('page',$this)}  //   как галлерею
    {PAGE_ID|att_downloads('page',$this)} // для скачивания файлов
</div>
<!-- ENDIF -->

 

Для комментариев

	
{COMMENTS_ROW_ID|att_widget('comments',$this,'attach2.link')}

просмотр

<!-- IF {COMMENTS_ROW_ID|att_count('comments',$this)} > 0 -->
 
<div>
 
    <h3>{PHP.L.att_attachments}</h3>
 
    {COMMENTS_ROW_ID|att_display('comments',$this)}
 
    {COMMENTS_ROW_ID|att_gallery('comments',$this)}
 
    {COMMENTS_ROW_ID|att_downloads('comments',$this)}
 
</div>
 
<!-- ENDIF -->

 

<img src="{PAGE_ID|att_get('page', $this)|att_thumb($this, 966, 644, crop)}" class="img-fluid" alt="{PAGE_SHORTTITLE}" />

// если надо найти аттач по номеру  
// первый:
<img src="{PAGE_ID|att_get('page', $this, '', 'first')|att_thumb($this, 966, 644, crop)}" class="img-fluid" alt="{PAGE_SHORTTITLE}" />

// последний:
<img src="{PAGE_ID|att_get('page', $this, '', 'last')|att_thumb($this, 966, 644, crop)}" class="img-fluid" alt="{PAGE_SHORTTITLE}" />

// случайный:
<img src="{PAGE_ID|att_get('page', $this, '', 'rand')|att_thumb($this, 966, 644, crop)}" class="img-fluid" alt="{PAGE_SHORTTITLE}" />

// по номеру:
<img src="{PAGE_ID|att_get('page', $this, '', '2')|att_thumb($this, 966, 644, crop)}" class="img-fluid" alt="{PAGE_SHORTTITLE}" />

// !!!  проверок на правильность номера нет. надо правильно указывать   !!!

 

Rак проверить в TPL владеет ли пользователь коментарием постом или страницей чтобы прикреплять файлы ?

<!-- IF ({PHP.usr.id} == {COMMENTS_ROW_AUTHORID}) AND {PHP|cot_auth('plug', 'attach2', 'W')} -->
<li>{COMMENTS_ROW_ID|att_widget('comment', $this, 'attach2.link')}</li>
<!-- ENDIF -->

Т. е. проверяем $usr['id'] на соответствие id владельца записи в регулярном блоке плюс разрешение на запись для плагина.

 

Проверяем любой аттач

<!-- IF {FORUMS_POSTS_ROW_ID|att_count_files('post', $this)} -->
    {FORUMS_POSTS_ROW_ID|att_gallery('post', $this, '<span class="search-highlight">attach2</span>.gallery.posts')}
<!-- ENDIF -->

 

Проверяем аттач по типу images

<!-- IF {FORUMS_POSTS_ROW_ID|att_count('post', $this, 'images')} -->
    {FORUMS_POSTS_ROW_ID|att_gallery('post', $this, '<span class="search-highlight">attach2</span>.gallery.posts')}
<!-- ENDIF -->

 

Проверяем аттач по типу файл

<!-- IF {FORUMS_POSTS_ROW_ID|att_count('forums',$this,'files')} > 0 -->
  <p>{FORUMS_POSTS_ROW_ID|att_downloads('forums',$this)}</p>
<!-- ENDIF -->

 

Как вывести миникартинки от прикреплённых картинок attach2

<a href="{PAGE_ID|att_get('page',$this)|att_thumb($this, 900, 600, crop)}" alt="{PAGE_ID|att_get('page',$this,'title')}">
  <img src="{PAGE_ID|att_get('page',$this)|att_thumb($this, 300, 200, crop)}" alt="{PAGE_ID|att_get('page',$this,'title')}" />
</a>

 

Вывести картинку на главной присоедиённую к статье или комментарию с помощью Attach2 ?

<!-- IF {PAGE_ROW_ID|att_count('page', $this)} > 0 -->
<img src="{PAGE_ROW_ID|att_get('page', $this)|att_thumb($this, 500, 500, crop)}" class="img-fluid" alt="{PAGE_ROW_ID|att_get('page', $this, 'title')}" />
<!-- ELSE -->
<img src="https://via.placeholder.com/500x500" alt="" class="img-fluid" />
<!-- ENDIF -->

 

Если Attach2 пишет ошибку придобавлении файла к любоку сообщению , то , вероятно , на сервере стоит ограницение написи в эту папку (  был такой глюк у меня )  конкретная папа CHMOD был 775 и плагин отказывался прикреплять файлы/  должно быть 777