Em anexo está o ficheiro standard.make que foi usado no workshop para a criação inicial do site.
Para poder ter conteúdo diferenciado (sócios, não sócios), é necessário:
Criação de (pelo menos) um novo grupo de utilizadores (Sócios)
Criação de um vocabulário com categorias para o site que inclua um termo "Sócios" (Taxonomia)
- e.g.
- Notícias
- Newsletter
- Oferta de emprego
- Congresso
- ...
- Sócios
O tipo de conteúdo "page" passa a ter obrigatoriamente uma classificação no vocabulário anterior, com a possibilidade de classificação em vários termos.
A ideia é que quando um qualquer conteúdo for classificado com o termo "Sócios" seja apenas visivel a sócios.
Para conseguir este efeito, usa-se o módulo Taxonomy access.
Dentro deste módulo, rejeita-se o acesso a utilizadores "anónimos" e "autenticados" ao conteúdo classificado com o termo "Sócios" usando a opção "Deny"
Para o grupo "Sócios" permite-se explicitamente o acesso a conteúdo classificado com este termo.
2ª Parte - gestão de quotas e pagamentos.
Módulos usados: CCK Nodereference (references no Drupal 7),views, node profile, viewfield computed field.
Cria-se os seguintes tipos de conteúdos:
1. Perfil - com os seguites campos:
Nome
Morada
Nº de sócio
(outros de interesse genérico)
Quotas pagas (node reference)
Recibos emitidos (Viewfield)
2. Quota com campos
Ano
Valor
3. Recibo com campo:
Sócio - Node reference from url (permite associar o perfil do utilizador que pagou a quota) Marcar a opção link com o título "Emitir Recibo".
Quota paga - node reference (referencia conteúdos do tipo quota)
Texto - Computed field (para gerar automaticamente o texto do recibo)
$q=node_load($node->field_recibo_quota[0]['nid']); $valor=$q->field_quota_valor[0]['value']; $ano=$q->title; $socio=node_load($node->field_recibo_socio[0]['nid']); $nome=$socio->title; $data_lic=$socio->field_data_lic[0]['value']; //Opcional $ano_lic=date("Y",strtotime($data_lic)); // Opcional if ($ano>$ano_lic) $valor = $q->field_quota_nao_estudante[0]['value']; //Opcional $node_field[0]['value'] = "<br><br>Recebemos de <b>$nome</b> a quantia de <b>$valor €</b> referente ao pagamento das quotas de sócio do ano <b>$ano</b> <br><br>A direcção da associação<br>"; |
Este código conta com dois valores, um para sócios "Estudantes" e outro para "Não estudantes" para funcionar, necessita existir um campo com a data da licenciatura no perfil do sócio, e dois valores especificados na quota.
Para a vista que mostra os recibos já emitidos para o sócio, usa-se o "nid" (número do nodo) como parametro. No tipo de conteúdo "perfil" passa-se "%nid" como parametro para a vista.
No exemplo real mostrado, ainda existia um grupo de campos extra no perfil para registar os pagamentos efectuados pelo sócio.
Anexo | Tamanho |
---|---|
standart.make_.txt | 2.84 KB |