Всем драсте. Подскажите пожалуйста, как состыковать попап контроллер с уже используемым стандартным контроллер контакт? сунул его рядом с основным используя (extensions) в итоге ругается что не знает что это такое
, хотя отдельно попап апекс код работает
.
отдельный код на попап
<apex:page controller="tstpopup">
<apex:form >
<apex:commandButton value="Show Pop up" action="{!showPopup}" rerender="tstpopup"/>
<apex:pageBlock >
This is just filler text from the Salesforce General.
</apex:pageBlock>
<apex:outputPanel id="tstpopup">
<apex:outputPanel styleClass="popupBackground" layout="block" rendered="{!displayPopUp}"/>
<apex:outputPanel styleClass="custPopup" layout="block" rendered="{!displayPopUp}">
This is where I would put whatever information I needed to show to my end user.<br/><br/><br/>
<apex:commandButton value="Hide Pop up" action="{!closePopup}" rerender="tstpopup"/>
</apex:outputPanel>
</apex:outputPanel>
</apex:form>
<style type="text/css">
.custPopup{
background-color: white;
border-width: 2px;
border-style: solid;
z-index: 9999;
left: 50%;
padding:10px;
position: absolute;
width: 500px;
margin-left: -250px;
top:100px;
}
.popupBackground{
background-color:black;
opacity: 0.20;
filter: alpha(opacity = 20);
position: absolute;
width: 100%;
height: 100%;
top: 0;
left: 0;
z-index: 9998;
}</style>
</apex:page>
public class tstpopup { public boolean displayPopup {get; set;}
public void closePopup() {
displayPopup = false;
}
public void showPopup() {
displayPopup = true;
}
}
ошибка же все обьясняет
чтобы обьявить класс как экстеншен у него должен быть подходящий конструктор, а у тебя его нет
в твоем конкретном случае ты должен иметь в классе tstpopup конструктор который принимает на вход ApexPages.StandardSetController controller
https://developer.salesforce.com/docs/atlas.en-us.pages.meta/pages/pages_custom_list_controller.htm
https://developer.salesforce.com/docs/atlas.en-us.pages.meta/pages/pages_custom_list_controller.htm
Благодарю, с контроллером чутка разобрался.
https://developer.salesforce.com/docs/atlas.en-us.pages.meta/pages/pages_custom_list_controller.htm
Благодарю, с контроллером чутка разобрался.
Ан нет, показалось. Опять же отдлеьно все работает, а вместе нехатит.
контроллер :
public with sharing class TestPopup {public Boolean displayPopup {get;set;}
public TestPopup(ApexPages.StandardController controller) {
}
public void showPopup()
{
displayPopup = true;
}
public void closePopup() {
displayPopup = false;
}
}
<apex:page standardController="Contact" recordSetVar="contacts" extensions="TestPopup">
<apex:form >
<apex:pageBlock title="Contacts List" id="contacts_list">
Filter:
<apex:selectList value="{! filterId }" size="1">
<apex:selectOptions value="{! listViewOptions }"/>
<apex:actionSupport event="onchange" reRender="contacts_list"/>
</apex:selectList>
<!-- Contacts List -->
<apex:pageBlockTable value="{! contacts }" var="ct">
<apex:column >
<apex:outputLink value="{! URLFOR($Action.Contact.Delete, ct.Id) }">
Del
</apex:outputLink>
</apex:column>
<apex:column value="{! ct.Name }"/>
<apex:column value="{! ct.Email }"/>
<apex:column value="{! ct.Contact_level__c }"/>
<apex:column value="{! ct.AccountId }"/>
<apex:column value="{! ct.ownerid }"/>
<apex:column value="{! ct.CreatedById }"/>
<apex:column value="{! ct.CreatedDate }"/>
</apex:pageBlockTable>
<!-- Pagination -->
<table style="width: 100%"><tr>
<!-- Page X of Y -->
<td>Page: <apex:outputText value=" {!PageNumber} of {! CEILING(ResultSize / PageSize) }"/></td>
<td align="center">
<!-- Previous page -->
<!-- active -->
<apex:commandLink action="{! Previous }" value="« Previous"
rendered="{! HasPrevious }"/>
<!-- inactive (no earlier pages) -->
<apex:outputText style="color: #ccc;" value="« Previous"
rendered="{! NOT(HasPrevious) }"/>
<!-- Next page -->
<!-- active -->
<apex:commandLink action="{! Next }" value="Next »"
rendered="{! HasNext }"/>
<!-- inactive (no more pages) -->
<apex:outputText style="color: #ccc;" value="Next »"
rendered="{! NOT(HasNext) }"/>
</td>
<td align="right">
<!-- Records per page -->
Records per page:
<apex:selectList value="{! PageSize }" size="1">
<apex:selectOption itemValue="5" itemLabel="5"/>
<apex:selectOption itemValue="20" itemLabel="20"/>
<apex:actionSupport event="onchange" reRender="contacts_list"/>
</apex:selectList>
</td>
</tr></table>
</apex:pageBlock>
</apex:form>
</apex:page>

я так понял не хочет вместе с (recordSetVar="contacts") стыковаться.
Как их подружить?
Как обычно,час искал ответ перед постом о помощи, и только после загрузки поста наткнулся на ответ.
Я не верно указал public TestPopup(ApexPages.StandardController controller) {
}
Необходимо было добавить public TestPopup(ApexPages.StandardSetController[/b] controller) {
}
To be continued ...
Правильно сформированный вопрос это уже половина ответа.
Сам часто нахожу ответ именно когда начинаю писать вопрос на форуме.